strlen
是php的內建函式
mb_strlen
是php的擴充套件函式
,其依賴於mbstring
模組
strlen
算出的是字串的總位元組數
,不論php內部設定的字符集為utf-8
、gbk
、iso-8859-1
, 其中乙個中文
佔3個位元組
,大小寫英文
、數字
、英文狀態下的特殊字元
都佔1個位元組
mb_strlen
在字符集為utf-8
中乙個中文
,英文
、數字
、特殊字元
都佔1個字元
;在字符集為gbk
中中文
、中文狀態下的某些特殊字元
佔1.5個字元
,英文
、數字
佔1個字元
。
<?php
/** * php strlen和mb_strlen比較
* @link
* @author 1024kb
* @since 2020-01-10
*///設定utf-8
mb_internal_encoding
('utf-8');
//mb_internal_encoding()設定或獲取內部字符集
echo
mb_internal_encoding()
.php_eol
;//輸出當前內部的字符集
$str
='new1024物件'
;echo
strlen
($str).
php_eol
;//輸出:13
echo
mb_strlen
($str
,'utf-8').
php_eol
;//輸出:9
echo
mb_strlen
($str
,'gbk').
php_eol
;//輸出:10
//設定gbk
mb_internal_encoding
('gbk');
//mb_internal_encoding()設定或獲取內部字符集
echo
mb_internal_encoding()
.php_eol
;//輸出當前內部的字符集
$str
='new1024物件'
;echo
strlen
($str).
php_eol
;//輸出:13
echo
mb_strlen
($str
,'utf-8').
php_eol
;//輸出:9
echo
mb_strlen
($str
,'gbk').
php_eol
;//輸出:10
編碼集函式n
ew10
24物件
utf-8
strlen11
1111
133gbk
strlen11
1111
133utf-8
mb_strlen11
1111
111gbk
mb_strlen11
1111
11.5
1.5
PHP strlen和mb strlen的區別
先看案例 echo mb internal encoding echo str d.c is 中國人 echo strlen str echo echo mb strlen str,utf 8 echo echo mb strlen str,gbk 輸出結果 utf 8 1610 12在strlen...
PHP strlen 函式和strpos 函式
strlen 函式返回字串的長度 字元數 echo strlen hello world 上面的 將輸出 12 strpos 函式用於在字串內查詢乙個字元或一段指定的文字。如果在字串中找到匹配,該函式會返回第乙個匹配的字元位置。如果未找到匹配,則返回 false。下面的例項在字串 hello wor...
和 區別和聯絡, 和 區別和聯絡
和 區別和聯絡,和 區別和聯絡,實際專案中,什麼情況用哪種?首先,和 的聯絡 共同點 和 都可以用作 邏輯與 運算子,都是雙目運算子。具體要看使用時的具體條件來決定。無論使用哪種運算子,對最終的運算結果都沒有影響。情況1 當上述的運算元是boolean型別變數時,和 都可以用作邏輯與運算子。情況2 ...