strlen與mb_strlen都是計算字符串長度的函數,但是我們一般比較常用都是strlen這個,但是還有mb_strlen。這兩個都是計算長度,但是差別在哪呢?簡單的說可以參考下面:
strlen:計算字元長度。
mb_strlen:計算字的長度。
這樣說可能不太清楚,寫個範例來說明:
|
<?php $str="abc"; ?> |
你會看到的結果:
|
字串:abc |
如果你字串用的是英文數字或是符號,你回覺得應該沒差吧!
但是如果是下面這個範例呢?
|
<?php $str="給我100元"; ?> |
你會看到的結果:
|
字串:給我100元 |
從這個例子可以看到,我用mb_strlen,以utf-8來判斷,他會計算的是多少個字。但是如果用strlen,他就會計算出12的結果(中文字3個*每個字3個字元+三個英文字)。
參考資料:
mb_strlen ( string $str [, string $encoding ] )
第一個參數:要被計算的字串。
第二個參數:參數為字元編碼。如果省略,則使用内部字元编碼。
文章標籤
全站熱搜

請問有函式可以取出字串最後一個字嗎?例如取出$str="給我100元";的「元」。
$str = substr ("給我100元", -1);
對,謝謝。可是如果有中文字元就必須使用mb_substr,例如$e=mb_substr($a,-2,-1,'utf8');//取最後第二個值。可是utf8的參數在第四個,所以我可以寫成mb_substr($a,-1,,'utf8')嗎?我這樣寫都失敗,除非像前念一樣填滿四個參數。
謝謝你的分享 例子十分清楚!