PHP中strlen和mb_strlen的区别

2011-5-19 杜世伟

    在PHP中,strlen与mb_strlen是求字符串长度的函数,但是对于一些初学者来说,如果不看手册,也许不太清楚其中的区别。
下面通过例子,讲解这两者之间的区别。

先看例子:
<?php  
//测试时文件的编码方式要是utf8mb4  
$str='中文a字1符';  
echo strlen($str).'<br>';//14  
echo mb_strlen($str,'utf8mb4').'<br>';//6  
echo mb_strlen($str,'gbk').'<br>';//8  
echo mb_strlen($str,'gb2312').'<br>';//10  
?> 
结果分析:在strlen计算时,对待一个utf8mb4的中文字符是3个长度,所以“中文a字1符”长度是3*4+2=14,在mb_strlen计算时,选定内码为utf8mb4,则会将一个中文字符当作长度1来计算,所以“中文a字1符”长度是6 .

阅读全文>>

标签: PHP strlen mb_strlen

评论(0) 浏览(14233)

Powered by emlog 沪ICP备2023034538号-1