每天PHP函数:substr()mb_substr()strstr()函数的区别

substr()函数
截取字符串的一部分
用法:substr(string,start,length)
第一个参数string:要操作的字符串;
第二个参数start:设置从字符串的何处开始截取,可取正值和负值
- 正数 - 在字符串的指定位置开始
- 负数 - 在从字符串结尾开始的指定位置开始
- 0 - 在字符串中的第一个字符处开始
第三个参数length:设置被返回字符串的长度,默认是字符串的结尾;
用例:
<?php $str = 'helloworld'; echo substr($str,0); //helloworld echo substr($str,1,5); //ellow echo substr($str,-1); //d ?>
mb_substr()函数
截取字符串的一部分,可以声明编码
用法:mb_substr(string,start,length,encoding)
第一个参数string:要操作的字符串;
第二个参数start:设置从字符串的何处开始截取,可取正值和负值
- 正数 - 在字符串的指定位置开始
- 负数 - 在从字符串结尾开始的指定位置开始
- 0 - 在字符串中的第一个字符处开始
第三个参数length:设置被返回字符串的长度,默认是字符串的结尾;
第四个参数encoding:参数为字符编码。如果省略,则使用内部字符编码。
(一般用于截取中文字符,如果是处理带html代码的字符建议带上strip_tags方法)
用例:
<?php $str = '我每天都在坚持学习编程'; echo mb_substr($str,1,6); //��每�(特殊字符) echo mb_substr($str,1,6,'utf-8'); //每天都在坚持 ?>
strstr()函数
函数搜索字符串在另一字符串中是否存在并返回该字符串及剩余部分,否则返回 FALSE。
用法:strstr(string,str,before_search)
第一个参数string:要操作的字符串;
第二个参数str:设置要搜索的字符串;
第三个参数before_search:默认为false,区别true:false返回str之后的字符,true返回str之前的字符
<?php header("Content-type:text/html;charset=utf-8"); $str = '我在坚持学习编程'; echo strstr($str,'学习');//学习编程 echo strstr($str,'学习',true);//我在坚持 ?