php怎么求字符串长度
這篇文章主要介紹“php怎么求字符串長(zhǎng)度”,在日常操作中,相信很多人在php怎么求字符串長(zhǎng)度問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”php怎么求字符串長(zhǎng)度”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
php求字符串長(zhǎng)度的函數(shù)有兩個(gè):1、strlen()函數(shù),可以計(jì)算英文字符串的長(zhǎng)度,語(yǔ)法為“strlen($string)”;2、mb_strlen()函數(shù),可以通過(guò)設(shè)置字符編碼,計(jì)算英文字符串、中文字符串或中英混合字符串的長(zhǎng)度,語(yǔ)法為“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ì)中英文混合或純中文的字符串,無(wú)法精確計(jì)算長(zhǎng)度。
-
mb_strlen()函數(shù)可以計(jì)算英文字符串、中文字符串或中英混合字符串的長(zhǎng)度。
1、strlen() 函數(shù)求字符串長(zhǎng)度
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)度。
示例:
<?php
header("Content-type:text/html;charset=utf-8");
$str="helloworld!";
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)度,語(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
header("Content-type:text/html;charset=utf-8");
$str="hello你好!";
echo'字符串“'.$str.'”的長(zhǎng)度為:'.mb_strlen($str,"utf-8").'<br>';
$str="歡迎來(lái)到億速云!";
echo'<br>字符串“'.$str.'”的長(zhǎng)度為:'.mb_strlen($str,'utf-8').'<br>';
?>
可以看出,我們可以通過(guò)設(shè)置對(duì)應(yīng)的$encoding參數(shù),就能很好的處理中文字符串的長(zhǎng)度問(wèn)題。
總結(jié)
以上是生活随笔為你收集整理的php怎么求字符串长度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 服务器异地灾备_华为idc解决方案
- 下一篇: 上百万人都放错了地方!路由器放在这里信号