在之前的文章中我們介紹了計算數(shù)組長度的方法,感興趣的可以點擊鏈接查看→《PHP數(shù)組學(xué)習(xí)之二維數(shù)組計算數(shù)組長度》。今天我們來看看字符串,了解一下英文字符串長度的計算方法。
PHP中用來計算字符串長度的函數(shù)主要有兩個:strlen() 和 mb_strlen() 。下面我們通過代碼示例來了解一下兩個函數(shù)是如何計算英文字符串長度的。
1、strlen()函數(shù)
<?php header("Content-type:text/html;charset=utf-8"); $str = "hello world!"; echo '字符串 “'.$str.'” 的長度為:'.strlen($str).'<br>'; ?>
strlen($string)
函數(shù)只接受一個參數(shù)$string
(要計算的字符串),如果該參數(shù)傳遞的值為空則返回 0。strlen()函數(shù)中,
(英文狀態(tài)下的逗號)、數(shù)字、英文字母、小數(shù)點.
、下劃線、空格等都只占一個字符長度。
在上例中,$str
字符串包含10個英文字母、1個空格和1個英文感嘆號,共12個字符,因此輸出結(jié)果為:
但strlen()函數(shù)不適合用于計算中文字符串長度,因為在該函數(shù)中一個 GB2312 編碼的漢字占兩個字符長度,一個 UTF-8 編碼的漢字占三個字符長度。
2、mb_strlen()函數(shù)
<?php header("Content-type:text/html;charset=utf-8"); $str = "hello world!,#%&*@"; echo '字符串 “'.$str.'” 的長度為:'.mb_strlen($str).'<br>'; ?>
同樣的,mb_strlen()函數(shù)中,
、數(shù)字、英文字母、小數(shù)點.
、下劃線、空格、#
、%
、&
、*
、@
都只占一個字符長度;但漢字只占一個字符長度。
在上例中,$str字符串包含10個英文字母、1個空格、1個逗號、6個其他英文符號,共18個字符,因此輸出結(jié)果為:
總結(jié):
strlen() 和 mb_strlen()函數(shù)都可以用于計算英文字符串長度;平時使用strlen()就行了,但有時是中英文混合的字符串,我們就需要使用mb_strlen()了。
好了就說到這里了,有其他想知道的,可以點擊這個哦?!?→php視頻教程
最后給大家推薦閱讀一個經(jīng)典課程《PHP字符串處理(玉女心經(jīng)版)》,免費的~快來學(xué)習(xí)??!