strlen與mb_strlen都是計算字符串長度的函數,但是我們一般比較常用都是strlen這個,但是還有mb_strlen。這兩個都是計算長度,但是差別在哪呢?簡單的說可以參考下面:
strlen:計算字元長度。
mb_strlen:計算字的長度。
範例:- <?php
- $str="abc";
- echo "字串:".$str."<BR>";
- echo "strlen:".strlen($str)."<BR>";
- echo "mb_strlen:".mb_strlen($str,'utf-8')."<BR>";
- ?>
複製代碼 你會看到的結果:
字串:abc
strlen:3
mb_strlen:3
如果字串用的是英文數字或是符號,兩者無差!
但是如果是下面這個範例:- <?php
- $str="給我100元";
- echo "字串:".$str."<BR>";
- echo "strlen:".strlen($str)."<BR>";
- echo "mb_strlen:".mb_strlen($str,'utf-8')."<BR>";
- ?>
複製代碼 結果:
字串:給我100元
strlen:12
mb_strlen:6
從這個例子可以看到,用mb_strlen,以utf-8來判斷,他會計算的是多少個字。但是如果用strlen,他就會計算出12的結果(中文字3個*每個字3個字元+三個英文字)。
參考資料:- mb_strlen ( string $str [, string $encoding ] )
複製代碼 第一個參數:要被計算的字串。
第二個參數:參數為字元編碼。如果省略,則使用内部字元编碼。 |