新聞中心

創(chuàng)新互聯(lián)建站是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號開發(fā),軟件開發(fā),小程序設(shè)計(jì),十載建站對成都封陽臺等多個(gè)方面,擁有豐富的網(wǎng)站運(yùn)維經(jīng)驗(yàn)。
在 PHP 中常用的計(jì)算字符串長度的函數(shù)有兩個(gè),分別是 strlen() 和 mb_strlen() 函數(shù)。當(dāng)處理全英文字符串時(shí),這兩個(gè)函數(shù)的效果是一樣的,而處理中英文混合或純中文的字符串時(shí),這兩個(gè)函數(shù)會有一些差異,下面就來詳細(xì)介紹一下。
1、strlen() 函數(shù)
strlen() 函數(shù)可以返回給定字符串的長度,其語法格式如下:
strlen($string)
參數(shù) $string 為需要計(jì)算長度的字符串。如果 $string 為空則返回 0。
注意:在 strlen() 函數(shù)中,數(shù)字、英文、小數(shù)點(diǎn)、下劃線和空格占一個(gè)字符長度;而一個(gè) GB2312 編碼的漢字占兩個(gè)字符長度,一個(gè) UTF-8 編碼的漢字占三個(gè)字符長度。
【示例】使用 strlen() 函數(shù)獲取字符串的長度。
';
$str = "C語言中文網(wǎng)";
echo '字符串“'.$str.'”的長度為:'.strlen($str).'
';
$str = "php";
echo '字符串“'.$str.'”的長度為:'.strlen($str);
?>
運(yùn)行結(jié)果如下:
字符串“http://c.biancheng.net/php/”的長度為:27
字符串“C語言中文網(wǎng)”的長度為:16
字符串“php”的長度為:3
2、mb_strlen() 函數(shù)
mb_strlen() 函數(shù)同樣可以返回字符串的長度,語法格式如下:
mb_strlen($str [, $encoding = mb_internal_encoding()])
其中,$str 為需要計(jì)算長度的字符串,$encoding 是可選參數(shù),為字符編碼,如果省略則使用內(nèi)部字符編碼。
mb_strlen() 函數(shù)的返回值為具有 $encoding 編碼的字符串 $str 所包含的字符數(shù),如果 $encoding 無效則返回 false。
注意:與 strlen() 函數(shù)不同,在 mb_strlen() 函數(shù)中,無論是漢字,還是英文、數(shù)字、小數(shù)點(diǎn)、下劃線和空格,都只占一個(gè)字符長度。
【示例】 使用 mb_strlen() 函數(shù)獲取字符串長度。
';
$str = "http://c.biancheng.net/php/";
echo '字符串“'.$str.'”的長度為:'.mb_strlen($str).'
';
$str = "PHP 教程";
echo '字符串“'.$str.'”的長度為:'.mb_strlen($str);
?>
運(yùn)行結(jié)果如下:
字符串“C語言中文網(wǎng)”的長度為:6
字符串“http://c.biancheng.net/php/”的長度為:27
字符串“PHP 教程”的長度為:6
提示:mb_strlen 并不是 PHP 的核心函數(shù),使用前需要確保在 php.ini 中加載了 php_mbstring.dll,即確?!癳xtension=php_mbstring.dll”這一行存在并且沒有被注釋掉,否則會出現(xiàn)未定義函數(shù)的問題。
當(dāng)前名稱:PHPstrlen()與mb_strlen():獲取字符串長度
網(wǎng)頁路徑:http://www.dlmjj.cn/article/dpjspij.html


咨詢
建站咨詢
