PHP strlen()與mb_strlen():獲取字符串長(zhǎng)度
1、strlen() 函數(shù)
strlen() 函數(shù)可以返回給定字符串的長(zhǎng)度,其語(yǔ)法格式如下:strlen($string)
參數(shù) $string 為需要計(jì)算長(zhǎng)度的字符串。如果 $string 為空則返回 0。注意:在 strlen() 函數(shù)中,數(shù)字、英文、小數(shù)點(diǎn)、下劃線和空格占一個(gè)字符長(zhǎng)度;而一個(gè) GB2312 編碼的漢字占兩個(gè)字符長(zhǎng)度,一個(gè) UTF-8 編碼的漢字占三個(gè)字符長(zhǎng)度。
【示例】使用 strlen() 函數(shù)獲取字符串的長(zhǎng)度。<?php
$str = "http://www.243516.com/php/";
echo '字符串“'.$str.'”的長(zhǎng)度為:'.strlen($str).'<br>';
$str = "f范軍手札";
echo '字符串“'.$str.'”的長(zhǎng)度為:'.strlen($str).'<br>';
$str = "php";
echo '字符串“'.$str.'”的長(zhǎng)度為:'.strlen($str);
?>字符串“http://www.243516.com/php/”的長(zhǎng)度為:25
字符串“C語(yǔ)言中文網(wǎng)”的長(zhǎng)度為:13
字符串“php”的長(zhǎng)度為:3
2、mb_strlen() 函數(shù)
mb_strlen() 函數(shù)同樣可以返回字符串的長(zhǎng)度,語(yǔ)法格式如下:mb_strlen($str [, $encoding = mb_internal_encoding()])
其中,$str 為需要計(jì)算長(zhǎng)度的字符串,$encoding 是可選參數(shù),為字符編碼,如果省略則使用內(nèi)部字符編碼。mb_strlen() 函數(shù)的返回值為具有 $encoding 編碼的字符串 $str 所包含的字符數(shù),如果 $encoding 無(wú)效則返回 false。
注意:與 strlen() 函數(shù)不同,在 mb_strlen() 函數(shù)中,無(wú)論是漢字,還是英文、數(shù)字、小數(shù)點(diǎn)、下劃線和空格,都只占一個(gè)字符長(zhǎng)度。
【示例】 使用 mb_strlen() 函數(shù)獲取字符串長(zhǎng)度。<?php
$str = "f范軍手札";
echo '字符串“'.$str.'”的長(zhǎng)度為:'.mb_strlen($str).'<br>';
$str = "http://www.243516.com/php/";
echo '字符串“'.$str.'”的長(zhǎng)度為:'.mb_strlen($str).'<br>';
$str = "PHP 教程";
echo '字符串“'.$str.'”的長(zhǎng)度為:'.mb_strlen($str);
?>字符串“C語(yǔ)言中文網(wǎng)”的長(zhǎng)度為:5
字符串“http://wwww.243516.com/php/”的長(zhǎng)度為:25
字符串“PHP 教程”的長(zhǎng)度為:6
提示:mb_strlen 并不是 PHP 的核心函數(shù),使用前需要確保在 php.ini 中加載了 php_mbstring.dll,即確?!癳xtension=php_mbstring.dll”這一行存在并且沒(méi)有被注釋掉,否則會(huì)出現(xiàn)未定義函數(shù)的問(wèn)題。