PHP中strlen和mb_strlen的区别

Posted 头大的冯冯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中strlen和mb_strlen的区别相关的知识,希望对你有一定的参考价值。

PHP中,strlenmb_strlen是求字符串长度的函数,下面通过例子,讲解这两者之间的区别。

<?php  
//测试时文件的编码方式要是UTF8  
$str=‘中文a字1符‘;  
echo strlen($str).‘<br>‘;//14  
echo mb_strlen($str,‘utf8‘).‘<br>‘;//6  
echo mb_strlen($str,‘gbk‘).‘<br>‘;//8  
echo mb_strlen($str,‘gb2312‘).‘<br>‘;//10  
?> 

结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以“中文a字1符”长度是3*4+2=14,在mb_strlen计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算,所以“中文a字1符”长度是6 .

以上是关于PHP中strlen和mb_strlen的区别的主要内容,如果未能解决你的问题,请参考以下文章

php--strlen()与mb_strlen的作用与区别

细说PHP中strlen和mb_strlen的区别

strlen()与mb_strlen()的区别

strlen()与mb_strlen的作用与区别

PHP 内置函数strlen 和mbstring扩展函数mb_strlen的区别

PHP中strlen和mb_strlen函数的使用方式的不同