這篇文章主要介紹了利用PHP函數計算中英文字串長度的方法,實例對比了PHP函數實作方法與正規表示式#的實作方法,具有一定的參考借鑒價值,需要的朋友可以參考下
本文實例講述了利用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 怎麼計算字串長度的詳細內容。更多資訊請關注PHP中文網其他相關文章!