1. 程式人生 > >PHP中strlen和mb_strlen的區別

PHP中strlen和mb_strlen的區別

函數 字符串長度 方式 中文 pre 文字 一個 對待 例子

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的區別