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/
本文版权归本人和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连
接,否则保留追究法律责任的权利。