strlen和mb_strlen都是用于獲取字符串長度的,其中strlen只針對(duì)單字節(jié)編碼字符,也就是說它計(jì)算的是字符串的總字節(jié)數(shù),如果是多字節(jié)碼編碼,如gbk和utf8,使用strlen得到的不是字符的個(gè)數(shù),而是該字符的總字節(jié)數(shù),可以使用mb_strlen獲取其字符個(gè)數(shù),使用mb_strlen要注意兩點(diǎn),一是要開啟mbstring擴(kuò)展,而是要指定字符集。
<?php
//當(dāng)前頁面是utf8編碼
$str = '中文89PHP';
echo strlen($str); //中文+數(shù)字+英文:6 + 2 + 3 = 11
echo mb_strlen($str, 'gbk'); //中文+數(shù)字+英文:3 + 2 + 3 = 8
echo mb_strlen($str, 'utf8'); //中文+數(shù)字+英文:2 + 2 + 3 = 7