PHP学习笔记——6.字符串

1.定义方式

①双引号方式

  例:$str = "hello";

  注:在使用双引号进行字符串定义时,字符串内部不能再出现双引号

  因为PHP会将其当成字符串边界进行解析

  例:$str = " hello,"susan" "; =>hello,

  此时,可对内部双引号进行转义,使用\"表示无语义的"

  则:$str = " hello,\"susan\" ";

  其它需要转义的符号:

  \" => " \n => 换行 \\ => \

  \r => 回车 \$ => $ \‘ => ‘

②单引号方式

  使用单引号定义的字符串,PHP不会做复杂的转义

  只转义\‘及\\ 其他一律原样输出

  单引号字符串的$..直接作为字符串输出

  而双引号会试着将其作为变量进行解析

  如何选择单/双引号?

  大段文字,使用单引号,解析快

  而如果确实要在字符串中夹杂变量,则需要使用双引号

③heredoc写法

  <<<标识符

  大段文本(包含双引号、单引号)

  标识符; =>一定独占一行,且前面没有任何字符

  功能:与双引号一致,会解析内部转义、变量等

④nowdoc写法

  <<<‘标识符‘

  大段文本

  标识符;

  功能:与单引号一致

2.字符串的类数组特性

  例:$str = ‘abcdef‘;

  echo $str[0]; =>a

3.字符串长度函数

  strlen(字符串变量); =>计算字符串字节数量

  注:UTF-8中一个汉字占三个字节

  mb_strlen(字符串变量,[字符集]); =>计算字符串字符数量

4.查找字符串中子字符位置函数

  strpos(字符串变量,‘查找目标‘,[偏移量]); =>从起始开始计算经过多少个字符是目标字符

  注:该函数所查找的目标是区分大小写的

  若‘查找目标‘填写的是整数,则会将整数转换为ASCII码

  在ASCII码中:

  65~90 => A~Z 97~122 => a~z

  在进行if判断时,若第一个(0)即是目标,则会返回false,此时可适用===进行判断

  例:if(strpos()===false){

  return false;

  }else{

  return true;

  }

  偏移量即略过一定数量再进行查找

  stripos() =>作用同上,单其查找的目标不区分大小写

  strrpos() =>目标字符最后一次出现的位置

  substr_count() =>计算目标出现的次数

5.字符串替换函数

  str_replace(‘原始‘,‘替换成‘,字符串变量,[替换次数]);

  ‘原始‘及‘替换成‘均可是混合类型,如数组

  若同时替换两个,每次都是从头开始找

  strtr(字符串变量,‘原始‘,‘替换成‘);

  ‘原始‘与‘替换成‘进行对应,一个字符对应一个字符进行替换

  例:‘hi‘与‘ab‘ 则h=>a i=>b

  实际应用中,可进行全/半角转换等

6.字符串截取函数

  substr(字符串变量,从哪开始,[到哪结束]);

  从哪开始 若填写的是负数,则从右往左进行

  例:substr(‘123456‘,2,-2); =>34

  strstr(字符串变量,目标字符,[true]);

  截取 第一次出现的目标字符~结尾 的部分

  若增加true可选项,则是~开头部分

  strrchr(字符串变量,目标字符,[true]);

  截取 最后一次出现的目标字符~结尾 的部分

  实际应用中可用于判断文件格式

7.字符串的分割、连接、反转函数

  Ltrim(字符串变量,‘需修剪字符‘);

  Rtrim(字符串变量,‘需修剪字符‘);

  str_split(字符串变量,[n]);

  将字符串分割成n个字母一组,总体形成一个数组

  explode(‘分割符‘,字符串变量);

  用指定的分割符将字符串分成多组,总体形成一个数组

  implode([‘连接符‘],数组变量);

  用连接符将数组中的所有单元值连接成一个字符串

  chunk_split(字符串变量,隔几个字符,[‘增加字符‘]);

  例:chunk_split($str,3,‘,‘); =>为$str字符串每隔3个字符添加一个逗号

  若不填增加字符,增自动增加换行符

  strrev(字符串变量); =>反转字符串 abc=>cba

8.字符串转义函数

  addslashes(字符串变量);

  在数据库操作时,诸如单引号等特殊字符会带来破坏作用,

  当用户输入单引号时,可利用该函数在单引号前加\进行转义

  stripslashes(字符串变量);

  将特殊字符转换为html实体,如 < > => $lt; $gt;

  htmlspecialchars_decode(字符串变量);

  将html实体转换为特殊字符

9.字符串比较函数

  strcmp(‘字符串1‘,‘字符串2‘); =>返回bool值

10.字符串转换函数

  strtolower(字符串变量); =>全大写

  strtoupper(字符串变量); =>全小写

  ucfirst(字符串变量); =>首字母大写

11.系统函数

  pathinfo(字符串变量); =>返回其信息,如名称、后缀等

  number_format(字符串变量); =>将字符串以千分位表示 1,234,567

 

作者:@zhnoah
出处:http://www.cnblogs.com/zhnoah/
本文版权归本人和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连 
接,否则保留追究法律责任的权利。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。