PHP实战中知识总结 / 字符串处理函数
1、explode()
explode(separator,string,limit) 函数将字符串打散为数组。第一个参数规定在哪里分割字符串;第二个参数是要分割的字符串;第三个参数是规定所返回的数组元素的数目。
<?php
$str = "Hello world. I love china!";
print_r (explode(" ",$str));
$str = "Hello world. I love china!";
print_r (explode(" ",$str,2));
?>
//结果:
Array
(
[0] => Hello
[1] => world.
[2] => I
[3] => love
[4] => china!
)
Array
(
[0] => Hello
[1] => world. I love china!
)
2、implode()
implode() 把数组元素组合为字符串。join() 函数是 implode() 函数的别名。
<?php
$arr = array('Hello','World!','I','love','china!');
echo implode(" ",$arr);
?>
// 运行:Hello World! I love china!
3、strlen()
strlen() 函数返回字符串的长度。
<?php
echo strlen("Shanghai"); // 8
?>
4、strtolower() 与 strtoupper()
strtolower() 函数把字符串转换为小写。strtoupper() 函数把字符串转换为大写。
<?php
echo strtoupper("Hello WORLD!"); //HELLO WORLD!
?>
5、substr()
substr(string,start,length) 函数返回字符串的一部分。
第一个参数是字符串参数;
第二个参数规定在字符串的何处开始(正数-在字符串的指定位置开始;负数-从字符串结尾开始的指定位置开始;0-从第一个字符处开始);
第三个参数是要返回字符串的长度(正数-从start参数的位置;负数-从字符串末端返回的长度)。
<?php
echo substr("Hello world",0,5); //从第一个字符开始,到第五个字符:Hello
echo substr("Hello world",1,-1); //从第二个字符开始,到倒数第二个字符:ello worl
echo substr("Hello world",-4,-2); //从结尾开始的第四个字符开始,到倒数第三个字符:or
?>
6、mb_substr()、mb_strcut()
substr()函数可以用于分割字符串,但是如果要分割的字符串包含了中文字符时,则结果会出现乱码。mb_substr() / mb_strcut() 的用法与 substr() 相似,区别在于多加一个参数用于设定字符串编码以解决乱码问题。
mb_substr() 是按字来切分字符,而mb_strcut() 是按字节来切分字符,但是都不会产生半个字符的现象
注意:utf-8编码的中文字符占了三个字节;在这几个函数中,空格也算入一个字符处理
<?php
echo substr('Ilove中国', 0, 6); // Ilove� 出现乱码
echo mb_substr('我 love 中国', 0, 6, 'utf-8'); // 我 love
echo mb_strcut('我 love 中国', 0, 6, 'utf-8'); // 我 lo
?>
7、mb_strimwidth()
mb_strimwidth( $str,start,width,trimmarker,encoding ) 获取具有指定宽度的截断字符串
第三个参数如果设置,将替换最后一个字符以匹配width。
<?php
echo mb_strimwidth("Hello World", 0, 10, "..."); // "Hello W..."
?>
8、trim()
trim(string,charlist)函数移除字符串两侧的空白字符或其他预定义字符。
ltrim() - 移除字符串左侧的空白字符或其他预定义字符
rtrim() - 移除字符串右侧的空白字符或其他预定义字符
"\0" - NULL
"\t" - 制表符
"\n" - 换行
"\x0B" - 垂直制表符
"\r" - 回车
" " - 空格
<?php
$str = "\n\n\nHello World!\n\n\n";
echo trim($str);// Hello World!
?>