您好,登錄后才能下訂單哦!
這篇文章主要介紹“php怎么求字符串長(zhǎng)度”,在日常操作中,相信很多人在php怎么求字符串長(zhǎng)度問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”php怎么求字符串長(zhǎng)度”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
php求字符串長(zhǎng)度的函數(shù)有兩個(gè):1、strlen()函數(shù),可以計(jì)算英文字符串的長(zhǎng)度,語法為“strlen($string)”;2、mb_strlen()函數(shù),可以通過設(shè)置字符編碼,計(jì)算英文字符串、中文字符串或中英混合字符串的長(zhǎng)度,語法為“mb_strlen($string,"字符編碼")”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
在 PHP 中常用的計(jì)算字符串長(zhǎng)度的函數(shù)有兩個(gè),分別是 strlen() 和 mb_strlen() 函數(shù)。當(dāng)處理全英文字符串時(shí),這兩個(gè)函數(shù)的效果是一樣的,而處理中英文混合或純中文的字符串時(shí),這兩個(gè)函數(shù)會(huì)有一些差異:
strlen()函數(shù)可以計(jì)算英文字符串的長(zhǎng)度,但對(duì)中英文混合或純中文的字符串,無法精確計(jì)算長(zhǎng)度。
mb_strlen()函數(shù)可以計(jì)算英文字符串、中文字符串或中英混合字符串的長(zhǎng)度。
1、strlen() 函數(shù)求字符串長(zhǎng)度
strlen() 函數(shù)可以返回給定字符串的長(zhǎng)度,其語法格式如下:
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)度。
示例:
<?php header("Content-type:text/html;charset=utf-8"); $str = "hello world!"; echo '字符串 “'.$str.'” 的長(zhǎng)度為:'.strlen($str).'<br>'; ?>
$str字符串包含10個(gè)英文字母、1個(gè)空格和1個(gè)英文感嘆號(hào),共12個(gè)字符,因此輸出長(zhǎng)度為12。
但strlen()函數(shù)不適合用于計(jì)算中文字符串長(zhǎng)度,因?yàn)樵谠摵瘮?shù)中一個(gè) GB2312 編碼的漢字占兩個(gè)字符長(zhǎng)度,一個(gè) UTF-8 編碼的漢字占三個(gè)字符長(zhǎng)度。
<?php header("Content-type:text/html;charset=utf-8"); $str = "hello 你好!"; echo '字符串 “'.$str.'” 的長(zhǎng)度為:'.strlen($str).'<br>'; ?>
2、mb_strlen() 函數(shù)求字符串長(zhǎng)度
mb_strlen() 函數(shù)同樣可以返回字符串的長(zhǎng)度,語法格式如下:
mb_strlen($str [, $encoding = mb_internal_encoding()])
$str 為需要計(jì)算長(zhǎng)度的字符串
$encoding 是可選參數(shù),為字符編碼,如果省略則使用內(nèi)部字符編碼。
mb_strlen() 函數(shù)的返回值為具有 $encoding 編碼的字符串 $str 所包含的字符數(shù),如果 $encoding 無效則返回 false。
注意:與 strlen() 函數(shù)不同,在 mb_strlen() 函數(shù)中,無論是漢字,還是英文、數(shù)字、小數(shù)點(diǎn)、下劃線和空格,都只占一個(gè)字符長(zhǎng)度。
【示例】 使用 mb_strlen() 函數(shù)獲取字符串長(zhǎng)度。
<?php header("Content-type:text/html;charset=utf-8"); $str = "hello 你好!"; echo '字符串 “'.$str.'” 的長(zhǎng)度為:'.mb_strlen($str,"utf-8").'<br>'; $str = "歡迎來到億速云!"; echo '<br>字符串 “'.$str.'” 的長(zhǎng)度為:'.mb_strlen($str,'utf-8').'<br>'; ?>
可以看出,我們可以通過設(shè)置對(duì)應(yīng)的$encoding
參數(shù),就能很好的處理中文字符串的長(zhǎng)度問題。
到此,關(guān)于“php怎么求字符串長(zhǎng)度”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。