strlen和mb_strlen區別

strlen和mb_strlen都是用於獲取字符串長度的;
strlen只針對單字節編碼字符,也就是說它計算的是字符串的總字節數,
若是是多字節碼編碼,如gbk和utf8,使用strlen獲得的不是字符的個數,而是該字符的總字節數,
能夠使用mb_strlen獲取其字符個數,使用mb_strlen要注意兩點,一是要開啓mbstring擴展,而是要指定字符集。
strlen():計算字節個數;中文佔3個字節
mb_strlen():計算字符個數;gbk中文半個;utf中文佔1個字符

 

<?php
 //當前頁面是utf8編碼   
$str = '中文89PHP';

echo strlen($str)."<br/>"; //中文+數字+英文:6 + 2 + 3 = 11
echo mb_strlen($str, 'gbk')."<br/>"; //中文+數字+英文:3 + 2 + 3 = 8
echo mb_strlen($str, 'utf8')."<br/>"; //中文+數字+英文:2 + 2 + 3 = 7
相關文章
相關標籤/搜索