php中可以利用strpos函数与mb_strpos函数获取指定的字符串在别一个字符串中首次呈现的位置,也可以利用它们判定一串字符串中是否包括别一个字符串。固然它们的浸染沟通,可是在输出的功效上却有很大的不同,那么下面就说一说php中strpos函数与mb_strpos函数的不同。
strpos函数与mb_strpos函数区分较量代码1:
<?php $str = 'feiniaomy.com'; echo strpos($str,'niao'); echo '<br/>'; echo mb_strpos($str,'niao'); ?>输出功效:3 3
注:在strpos()函数与mb_strpos()函数在一串英文字符串下,查到同一个字符串返回的功效是一样的。
代码2:
<?php header("Content–type:text/html;chartset=utf-8"); $str = '飞鸟慕鱼博客feiniaomy.com'; echo strpos($str,'niao'); echo '<br/>'; echo mb_strpos($str,'niao'); ?>输出功效:21 9
注:
1、在上面的测试代码中,声明白面页为utf-8的编码方法
2、一个汉字在uft-8编码下占3个字节,一个字母占一个字节
3、strpos()返回的按字节返回的位置,mb_strpos()是按字数返回的位置
4、可以参考代码3,可以很直观的查察
代码3:
<?php header("Content–type:text/html;chartset=utf-8"); $str = '飞鸟慕鱼博客feiniaomy.com'; echo strpos($str,'博客'); echo '<br/>'; echo mb_strpos($str,'博客'); ?>输出功效:12 4
注:
1、strpos()按字节返回,一个汉字三个字节,并从0开始,所觉得12
2、mb_strpos()按字数返回,并从0开始的,所以返回的是4