溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php怎么求字符串長(zhǎng)度

發(fā)布時(shí)間:2022-06-30 09:14:01 來源:億速云 閱讀:14013 作者:iii 欄目:編程語言

這篇文章主要介紹“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,"字符編碼")”。

php怎么求字符串長(zhǎng)度

本教程操作環(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。

php怎么求字符串長(zhǎng)度

但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>';
?>

php怎么求字符串長(zhǎng)度

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>';
?>

php怎么求字符串長(zhǎng)度

可以看出,我們可以通過設(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í)用的文章!

向AI問一下細(xì)節(jié)

免責(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)容。

php
AI