考驗對encoding的意識
程式碼例項:
$str = `大家好abc`;
echo strlen($str);
echo `<br/>`;
echo mb_strlen($str,`utf-8`);
結果是12 , 6
-
strlen()計算的是字串的位元組數,一個英文字元是1位元組,中文字元在GBK編碼下是2位元組,UTF8是3位元組,所以位元組數為 3*3+3 = 12
-
mb_strlen()需要mb_string擴充套件,mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] ),第一個引數是要檢測的字串,第二個引數是編碼格式,多位元組字元被記為 1