在php中,可以使用mb_strlen()函數來檢查漢字字串有幾個字符,語法為“strlen(字串,"字符編碼")”,能精確返回漢字字串的字符個數;函數可以透過設定的字符編碼來處理中文字符,讓漢字、英文、數字等,都只佔一個字符長度。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
在PHP 中常用的計算字串長度的函數有兩個,分別是strlen() 和mb_strlen() 函數。當處理全英文字串時,這兩個函數的效果是一樣的,而處理中英文混合或純中文的字串時,這兩個函數會有一些差異。
strlen()無法精確計算中英文混合或純中文的字串,而mb_strlen() 可以。
因此,想要檢查漢字字串有幾個字符,需要使用mb_strlen()函數。
php mb_strlen()函數
#mb_strlen() 函數傳回字串的長度,即統計字串中字元的數量。
語法:
strlen(字符串,"字符编码")
#該函數可以透過設定字元編碼從而傳回對應的字元數,很好的處理了中文字串的長度問題。
在 mb_strlen() 函數中,透過設定字元編碼,無論是漢字,或是英文、數字、小數點、底線和空格,都只佔一個字元長度。
傳回值:如果成功則傳回字串的長度,如果字串為空則傳回 0。
範例:檢查漢字字串有幾個字元
<?php header('content-type:text/html;charset=utf-8'); $str = "欢迎来到这里"; echo '字符串 “'.$str.'” 的字符个数为:'.mb_strlen($str).'<br>'; echo '字符串 “'.$str.'” 的字符个数为:'.mb_strlen($str,"utf-8").'<br>'; ?>
可以看出,若省略了第二個參數,該函數則使用內部字元編碼,這樣一個GB2312 編碼的漢字佔兩個字元長度,一個UTF-8 編碼的漢字佔三個字元長度。
所以在統計漢字字串長度時,第二個參數不可省略。
mb_strlen()函數不僅統計純漢字字符,也可統計中英文混合字串。
<?php header('content-type:text/html;charset=utf-8'); $str = "欢迎来到PHP中文网"; echo '字符串 “'.$str.'” 的字符个数为:'.mb_strlen($str,"utf-8").'<br>'; ?>
推薦學習:《PHP影片教學》
以上是php怎麼檢查漢字字串有幾個字符的詳細內容。更多資訊請關注PHP中文網其他相關文章!