新聞中心

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


咨詢
建站咨詢
