PHP strlen 函數語法
int strlen( string );
只要將要計算長度的字串放在 strlen 的參數欄位內即可,建議僅用來計算英文或數字字串,其它文字的字串請使用 mb_strlen 函數,要不然很容易出錯。詳細用法參閱:PHP strlen 函數
PHP mb_strlen 函數語法
mb_strlen( string, string encoding );
mb_strlen 函數比 strlen 還多出了 string encoding 的參數,這就是用來設定字串編碼的參數,例如萬國碼就是 utf-8,這也是目前比較普遍的一種編碼方式。詳細用法參閱:PHP mb_strlen 函數
PHP 字串長度如何計算範例
原始碼:在新視窗開起範例程式碼文字版
範例的計算結果24
24
27
9
為了比較兩個 PHP 函數的字串計算結果差異,我們分別準備了一個英文字串以及一個繁體中文字串,第一次使用 strlen 與 mb_strlen 函數統計英文字串長度的結果都是一樣的 24,可是統計繁體中文字串的時候就顯示出差別了,strlen 把範例的繁體中文字串長度統計為 27,而 mb_strlen 則把繁體中文字串長度統計為 9,很顯然的 mb_strlen 才是正確的,所以在利用 PHP 計算繁體中文字串長度的時候,應該要使用 mb_strlen 才對,至於計算英文字串長度則沒有什麼差別。24
27
9
補充:繁體中文字串一個字長度為 3 個字符,一個英文字母或一個個位數字長度則是 1 個字符,這就是為什麼剛剛在範例中會有 9 與 27 的這兩種結果,strlen 函數把繁體中文字串用英文字符長度去統計了,所以本來應該是 9 個中文字卻變成錯誤的 27。
更多 PHP 字串技巧