PHP strlen和mb strlen的區別詳解

2021-10-02 02:33:36 字數 1954 閱讀 7900

strlen是php的內建函式mb_strlen是php的擴充套件函式,其依賴於mbstring模組

strlen算出的是字串的總位元組數,不論php內部設定的字符集為utf-8gbkiso-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 ...