PHP mb_strlen 函數

PHP mb_strlen 函數跟 strlen 函數一樣都是用來計算字串長度用的,不過有一個很大的差別在於 mb_strlen 函數允許 PHP 設計師添加編碼判斷,所以通常被拿來計算繁體中文的字串長度,因為一個繁體中文字所占用的字元長度是 3,比起英文字母或數字各占用 1 是不一樣的,這也沒辦法,只能說 PHP 這類程式語言是外國人發明的,我們如果要記算繁體中文字串長度就只能挑一個適用的函數,mb_strlen 就是最好的選擇。

PHP mb_strlen 函數的語法

mb_strlen( $string , "string encoding" );
PHP 的 mb_strlen 函數與 strlen 函數的用法一樣簡單,只多了一個設定編碼的參數,就是語法中「"string encoding"」的部份,這也是 mb_strlen 函數的真正價值所在,PHP 設計師通常會採用 utf-8 的萬國碼來處理,未來也建議盡量以萬國碼為基礎,我們會在範例中提供給各位讀者朋友們參考實際的寫法,請繼續看下去。

PHP mb_strlen 函數的實際應用範例

原始碼:在新視窗開起範例程式碼文字版
PHP mb_strlen 函數程式碼縮圖
範例的計算結果
String1 length is: 8
String2 length is: 6
在範例中我們故意準備了兩個不同的字串,分別是純繁體中文字串 $String1 與繁體中文加上英文單字的字串 $String2,兩個字串都用 mb_strlen 去計算長度,而且編碼的部份都設定為萬國碼 utf-8,從計算結果可以看到 PHP mb_strlen 函數不僅是可以判斷繁體中文字串的長度,就連混合的字串長度也可以正常判斷,實在是非常好用,所以許多 PHP 設計師才會這麼喜歡 mb_strlen 函數,覺得 mb_strlen 甚至比傳統的 strlen 函數更好用。

更多 PHP 字串處理技巧
分享於 2015-07-27 - 更新於 2017-08-01