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!
?>

PHP实战中知识总结