考驗對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
考驗對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
更多獲得包含中英文字串的自然長度相關文章請關注PHP中文網!