首頁  >  文章  >  後端開發  >  PHP字串學習如何計算英文字串的長度

PHP字串學習如何計算英文字串的長度

青灯夜游
青灯夜游原創
2021-08-04 16:42:552849瀏覽

在先前的文章中我們介紹了計算數組長度的方法,有興趣的可以點擊連結查看→《PHP數組學習之二維數組計算數組長度》。今天我們來看看字串,了解一下英文字串長度的計算方法。

PHP中用來計算字串長度的函數主要有兩個:strlen() 和 mb_strlen() 。下面我們透過程式碼範例來了解兩個函數是如何計算英文字串長度的。

1、strlen()函數

<?php
header("Content-type:text/html;charset=utf-8");
$str = "hello world!";
echo '字符串 “'.$str.'” 的长度为:'.strlen($str).'<br>';
?>

#strlen($string)函數只接受一個參數$string(要計算的字串),如果該參數傳遞的值為空則傳回0。 strlen()函數中(英文狀態下的逗號)、數字、英文字母、小數點.、底線、空格等都只佔一個字元長度。

在上例中,$str字串包含10個英文字母、1個空格和1個英文感嘆號,共12個字符,因此輸出結果為:

PHP字串學習如何計算英文字串的長度

但strlen()函數不適合用來計算中文字串長度,因為在該函數中一個GB2312 編碼的漢字佔兩個字元長度,一個UTF-8 編碼的漢字佔三個字元長度。

2、mb_strlen()函數

<?php
header("Content-type:text/html;charset=utf-8");
$str = "hello world!,#%&*@";
echo '字符串 “'.$str.'” 的长度为:'.mb_strlen($str).'<br>';
?>

一樣的,mb_strlen()函數中、數字、英文字母、小數點 .、底線、空格、#、%&*@都只佔一個字元長度;但漢字只佔一個字元長度。

在上例中,$str字串包含10個英文字母、1個空格、1個逗號、6個其他英文符號,共18個字符,因此輸出結果為:

PHP字串學習如何計算英文字串的長度

總結:

strlen() 和mb_strlen()函數都可以用來計算英文字串長度;平常使用strlen()就行了,但有時是中英文混合的字串,我們就需要使用mb_strlen()了。

好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →php影片教學

 最後給大家推薦閱讀一個經典課程《PHP字串處理(玉女心經版)》,免費的~快來學習啊!

以上是PHP字串學習如何計算英文字串的長度的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn