php字符串处理总结
php字符串处理是php基础中重要的一部分,总结并整理了一下
1、最简单的,字符串输出单引号和双引号的区别(定义字符串用单引号和双引号都可以)
1 $str='hello'; 2 echo "str is $str"; 3 echo "<br />"; 4 echo 'str is $str';
看到了吧,双引号会输出字符串本身,单引号会输出字符串变量标识符
2、字符串连接
1 $i='I'; 2 $love=' Love'; 3 $you=' You'; 4 $hi=$i.$love.$you; //连接字符串 5 echo $hi;
3、去除字符串中的空格
1 $str=" string "; 2 $str1=trim($str); //去除两边空格 3 $str=rtrim($str); //去除右边空格 4 $str=ltrim($str3); //去除左边空格
4、获取字符串长度
1 //获取英文字符串长度 2 $love="I love you"; 3 $len=strlen($love); 4 echo $len; 5 echo "<br />"; 6 //获取中文字符串的实际占用长度 7 $love="我爱你!"; 8 $len=strlen($love); 9 echo $len; 10 echo "<br />"; 11 //获取中文汉字个数 12 $love="我爱你!"; 13 $len=mb_strlen($love,"UTF8"); 14 echo $len;
这里要注意统计中文字符指定编码要与本身编码一致,否则会出现乱码,默认为utf8编码不用指定也可以
5、字符串截取
1 //英文字符串截取 2 $love="I love you"; 3 echo substr($love, 2,4); 4 echo "<br />"; 5 //中文字符串截取 6 $love="我爱你啊啊啊"; 7 echo mb_substr($love, 0,3,'utf8');
这里同样注意编码问题,其实中文字符串截取用substr函数也可以,只是要运算一下,gbk一个汉字占2个字节,utf8一个汉字占3个,弄不好会截出半个出现乱码,用mb_substr直接数汉字个数就行了
6、字符串查找
1 $str = 'What is your name?'; 2 echo strpos($str,'name');
这个结果会输出13,就是要搜索的字符串第一个字符所在的位置,原字符串从0开始数
7、
1 $str = 'I Love China'; 2 $replace=str_replace('China','you',$str); 3 echo $replace;
一看就知道了,输出I Love you
8、字符串的格式化
1 $str = '100.1'; 2 $result=sprintf('%01.3f',$str); 3 echo $result;
这个结果会输出100.100,%01.3f,前面0代表没有数字则填充0,后面.3代表3位小数,f是固定格式
9、字符串合并与分割
1 //合并字符串 2 $arr = array('Hello', 'World!'); 3 $result = implode('-', $arr); 4 print_r($result); 5 echo "<br />"; 6 //分隔字符串 7 $str = 'sun-moon-star'; 8 $result=explode('-',$str); 9 print_r($result);
我们可以看到,分隔符可以自己指定,合并之后是一个字符串,而分割后成为了一个数组
10、字符串转义输出
我们知道,单引号中包含双引号,双引号中包含单引号可以原样输出,但是单引号中包含单引号或者双引号中包含双引号要用\转义,保持输出不变,那么反过来呢?
1 $str = "what's this?"; 2 echo addslashes($str);
这样就会输出what\'s this? 输出转义前的了
好了,先总结这些,方便使用的时候查询,以后用到的时候再随时更新,