利用PHP函數(shù)計(jì)算中英文字符串長(zhǎng)度的方法
本文實(shí)例講述了利用PHP函數(shù)計(jì)算中英文字符串長(zhǎng)度的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
一般來(lái)說(shuō)大家知道英文字符占一個(gè)字節(jié),而中文字符gbk占兩個(gè)字符,utf8占三個(gè)字符,很多人印象中php計(jì)算字符串長(zhǎng)度就是strlen()函數(shù),其實(shí)不然,它計(jì)算的是字節(jié)的長(zhǎng)度而非字符的長(zhǎng)度,那么如何獲取一個(gè)字符串中字符的長(zhǎng)度呢?還有有mb_strlen().
具體代碼如下:
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系列的函數(shù)并不是PHP核心函數(shù),默認(rèn)沒(méi)有開啟的,還有一個(gè)超簡(jiǎn)單的方法,通過(guò)正則將字符串分解為字符個(gè)體,計(jì)算字符的個(gè)數(shù)即為字符串的長(zhǎng)度,代碼如下:
function _strlen($str)
{
preg_match_all("/./us", $str, $matches);
return count(current($matches));
}
echo _strlen("PHP點(diǎn)點(diǎn)通"); //6
?>
希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。
- PHP字符串長(zhǎng)度計(jì)算 - strlen()函數(shù)使用介紹
- php中計(jì)算中文字符串長(zhǎng)度、截取中文字符串的函數(shù)代碼
- php自定義函數(shù)實(shí)現(xiàn)統(tǒng)計(jì)中文字符串長(zhǎng)度的方法小結(jié)
- 最準(zhǔn)確的php截取字符串長(zhǎng)度函數(shù)
- PHP中preg_match函數(shù)正則匹配的字符串長(zhǎng)度問(wèn)題
- php strlen mb_strlen計(jì)算中英文混排字符串長(zhǎng)度
- 詳解PHP中strlen和mb_strlen函數(shù)的區(qū)別
- 淺析PHP中strlen和mb_strlen的區(qū)別
- 自己寫的php中文截取函數(shù)mb_strlen和mb_substr
- PHP中strlen()和mb_strlen()的區(qū)別淺析
- php中strlen和mb_strlen用法實(shí)例分析
- php常用字符串長(zhǎng)度函數(shù)strlen()與mb_strlen()用法實(shí)例分析
相關(guān)文章
Ajax PHP 邊學(xué)邊練 之三 數(shù)據(jù)庫(kù)
在上一篇備忘日歷實(shí)例中,實(shí)現(xiàn)了當(dāng)鼠標(biāo)放在某個(gè)日期上時(shí),如果當(dāng)天有備忘信息則會(huì)顯示出來(lái),但是這些信息是為了測(cè)試方便事先寫在數(shù)組中的數(shù)據(jù),不能體現(xiàn)其實(shí)時(shí)性。2009-11-11php+mysql+ajax實(shí)現(xiàn)單表多字段多關(guān)鍵詞查詢的方法
這篇文章主要介紹了php+mysql+ajax實(shí)現(xiàn)單表多字段多關(guān)鍵詞查詢的方法,涉及php基于ajax的數(shù)據(jù)庫(kù)查詢、表格操作等相關(guān)技巧,需要的朋友可以參考下2017-04-04php中自定義函數(shù)dump查看數(shù)組信息類似var_dump
本文為大家介紹下在php中自定義函數(shù)dump查看數(shù)組信息,具體示例如下,希望對(duì)大家有所幫助2014-01-01PHP獲取一年中每個(gè)星期的開始和結(jié)束日期的方法
這篇文章主要介紹了PHP獲取一年中每個(gè)星期的開始和結(jié)束日期的方法,涉及php對(duì)日期操作的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02PHP中使用crypt()實(shí)現(xiàn)用戶身份驗(yàn)證的代碼
在開發(fā)PHP應(yīng)用中如果不想自己開發(fā)新的加密算法,還可以利用PHP提供的crypt()函數(shù)來(lái)完成單向加密功能2012-09-09