本文實例講述了利用PHP函數計算中英文字符串長度的方法。分享給大家供大家參考。具體實現方法如下:
一般來說大家知道英文字符占一個字節,而中文字符gbk占兩個字符,utf8占三個字符,很多人印象中php計算字符串長度就是strlen()函數,其實不然,它計算的是字節的長度而非字符的長度,那麼如何獲取一個字符串中字符的長度呢?還有有mb_strlen().
具體代碼如下:
復制代碼 代碼如下:echo $str = 'PHP點點通';
echo strlen($str); //3*1+3*3=12
echo mb_strlen($str, 'gb2312'); //3*1+3*2=9
echo mb_strlen($str, 'utf-8'); //6
可惡的是,mb系列的函數並不是PHP核心函數,默認沒有開啟的,還有一個超簡單的方法,通過正則將字符串分解為字符個體,計算字符的個數即為字符串的長度,代碼如下:
復制代碼 代碼如下:<?php
function _strlen($str)
{
preg_match_all("/./us", $str, $matches);
return count(current($matches));
}
echo _strlen("PHP點點通"); //6
?>
希望本文所述對大家的PHP程序設計有所幫助。