国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Inhaltsverzeichnis
strlen和mb_strlen的區(qū)別,strlenmb_strlen
php中strlen與mb_strlen與count的不同
strlen()與mb_strlen的作用分別是什
Heim php教程 php手冊 strlen和mb_strlen的區(qū)別,strlenmb_strlen

strlen和mb_strlen的區(qū)別,strlenmb_strlen

Jun 13, 2016 am 09:26 AM
strlen

strlen和mb_strlen的區(qū)別,strlenmb_strlen

在php中常見的計算字符串長度的函數(shù)有:strlen和mb_strlen.當字符全是英文字符的時候,兩者是一樣。這里主要比較一下,中英文混排的時候,兩個計算結果。

PHP中,strlenmb_strlen是求字符串長度的函數(shù),但是對于一些初學者來說,如果不看手冊,也許不太清楚其中的區(qū)別。
下面通過例子,講解這兩者之間的區(qū)別。

先看例子:

  1. //測試時文件的編碼方式要是UTF8 ?
  2. $str='中文a字1符'; ?
  3. echo?strlen($str).'
    ';//14 ?
  4. echo?mb_strlen($str,'utf8').'
    ';//6 ?
  5. echo?mb_strlen($str,'gbk').'
    ';//8 ?
  6. echo?mb_strlen($str,'gb2312').'
    ';//10 ?
  7. ?>?

    結果分析:在strlen計算時,對待一個UTF8的中文字符是3個長度,所以“中文a字1符”長度是3*4+2=14,在mb_strlen計算時,選定內碼為UTF8,則會將一個中文字符當作長度1來計算,所以“中文a字1符”長度是6 .

    利用這兩個函數(shù)則可以聯(lián)合計算出一個中英文混排的串的占位是多少(一個中文字符的占位是2,英文字符是1)

    1. echo?(strlen($str)?+?mb_strlen($str,'UTF8'))?/?2;?

    ?

    例如 “中文a字1符” 的strlen($str)值是14,mb_strlen($str)值是6,則可以計算出“中文a字1符”的占位是10.

    ?

    1. echo?mb_internal_encoding();?

    ?

    PHP內置的字符串長度函數(shù)strlen無法正確處理中文字符串,它得 到的只是字符串所占的字節(jié)數(shù)。對于GB2312的中文編碼,strlen得到的值是漢字個數(shù)的2倍,而對于UTF-8編碼的中文,就是3倍的差異了(在 UTF-8編碼下,一個漢字占3個字節(jié))。

    采用mb_strlen函數(shù)可以較好地解決這個問題。mb_strlen的用法和 strlen類似,只不過它有第二個可選參數(shù)用于指定字符編碼。例如得到UTF-8的字符串$str長度,可以用 mb_strlen($str,'UTF-8')。如果省略第二個參數(shù),則會使用PHP的內部編碼。內部編碼可以通過 mb_internal_encoding()函數(shù)得到。

    需要注意的是,mb_strlen并不是PHP核心函數(shù),使用前需要確保在php.ini中加載了php_mbstring.dll,即確?!癳xtension=php_mbstring.dll”這一行存在并且沒有被注釋掉,否則會出現(xiàn)未定義函 數(shù)的問題。

php中strlen與mb_strlen與count的不同

strlen 計算字符串長度,一個中文當2字符
mb_strlen根據(jù)它的字符編碼模式,統(tǒng)計字符quot
count計算數(shù)組中的元素數(shù)目或對象中的屬性個數(shù)
?

strlen()與mb_strlen的作用分別是什

在PHP中,strlen與mb_strlen是求字符串長度的函數(shù),但是對于一些初學者來說,如果不看手冊,也許不太清楚其中的區(qū)別。
下面通過例子,講解這兩者之間的區(qū)別。
先看例子:
';//14 echo mb_strlen($str,'utf8').'
';//6 echo mb_strlen($str,'gbk').'
';//8 echo mb_strlen($str,'gb2312').'
';//10 ?>

結果分析:在strlen計算時,對待一個UTF8的中文字符是3個長度,所以“中文a字1符”長度是3*4+2=14,在mb_strlen計算時,選定內碼為UTF8,則會將一個中文字符當作長度1來計算,所以“中文a字1符”長度是6 .
利用這兩個函數(shù)則可以聯(lián)合計算出一個中英文混排的串的占位是多少(一個中文字符的占位是2,英文字符是1)

echo (strlen($str) + mb_strlen($str,'UTF8')) / 2;

例如 “中文a字1符” 的strlen($str)值是14,mb_strlen($str)值是6,則可以計算出“中文a字1符”的占位是10.

echo mb_internal_encoding();

PHP內置的字符串長度函數(shù)strlen無法正確處理中文字符串,它得 到的只是字符串所占的字節(jié)數(shù)。對于GB2312的中文編碼,strlen得到的值是漢字個數(shù)的2倍,而對于UTF-8編碼的中文,就是3倍的差異了(在 UTF-8編碼下,一個漢字占3個字節(jié))。
采用mb_strlen函數(shù)可以較好地解決這個問題。mb_strlen的用法和 strlen類似,只不過它有第二個可選參數(shù)用于指定字符編碼。例如得到UTF-8的字符串$str長度,可以用 mb_strlen($str,'UTF-8')。如果省略第二個參數(shù),則會使用PHP的內部編碼。內部編碼可以通過 mb_internal_encoding()函數(shù)得到。
需要注意的是,mb_strlen并不是PHP核心函數(shù),使用前需要確保在php.ini中加載了php_mbstring.dll,即確保“extension=php_mbstring.dll”這一行存在并且沒有被注釋掉,否則會出現(xiàn)未定義函 數(shù)的問題。
?

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276