PHP8的字符串操作1-PHP8知識詳解
字符串是php中最重要的數(shù)據(jù)之一,字符串的操作在PHP編程占有重要的地位。在使用PHP語言開發(fā)web項目的過程中,為了實現(xiàn)某些功能,經(jīng)常需要對某些字符串進行特殊的處理,比如字符
永久美國免備案虛擬主機1元1天,15元1月,100元1年,1000元永久
站長在線旗下答案網(wǎng)站,全站所有題目,免費查看答案和答案解析
字符串是PHP中最重要的數(shù)據(jù)之一,字符串的操作在PHP編程占有重要的地位。在使用PHP語言開發(fā)web項目的過程中,為了實現(xiàn)某些功能,經(jīng)常需要對某些字符串進行特殊的處理,比如字符串的格式化、字符串的連接與分割、字符串的比較、查找等一系列操作。用戶和系統(tǒng)的交互也基本上是用文字來進行的,因此系統(tǒng)對文本信息,即字符串的處理非常重要。
php8 中提供了大量用來處理字符串的內(nèi)置函數(shù),使用這些內(nèi)置函數(shù),可以在 PHP8 程序中很方便地完成對字符串的各種操作。在本文中,我們通過具體的實例加深對字符串函數(shù)的理解。
1、去除字符串首尾空格和特殊字符
空格在很多情況下是不必要的,所以經(jīng)常會涉及到清除字符串的空格。比如某些程序中,出現(xiàn)了不必要的空格,就會大大的增加了程序出錯的概率。
清理空格和特殊字符,我們用到了trim()、rtrim()和ltrim()函數(shù)。
1.1、trim()函數(shù)
trim()函數(shù)是從字符串兩邊同時去除空格和特殊字符的。語法格式如下:
trim(string,charlist)
其中,string是需要檢查的字符串,charlist為可選參數(shù),用于設(shè)置需要被去除的字符。如果不設(shè)置該參數(shù),則以下字符將被刪除。
a、"\0":NULL,空值。
b、"\t":制表符。
c、"\n":換行符。
d、"\x0B":垂直制表符。
e、"\r":回車符。
f、" ":空格。
接下來,我們使用一個案例來做一個示范,代碼如下:
<?php
$a = "***我們正在學習的是PHP8###";
echo "原文輸出的是:" .$a;
echo "<br>";
$a = trim($a,"*"); //去除前面的*
$a = trim($a,"#"); //去除后面的#
echo "處理以后輸出的是:" .$a;
?>
上面的代碼,在PHP8中運行的結(jié)果如下:
原文輸出的是:***我們正在學習的是PHP888###
處理以后輸出的是:我們正在學習的是PHP888
1.2、ltrim()函數(shù)
ltrim()函數(shù)從左側(cè)清楚字符串的空格和特殊字符。語法格式如下:
ltrim(string,charlist)
其中,string是需要檢查的字符串,charlist為可選參數(shù),用于設(shè)置需要被去除的字符。
示例代碼:
<?php
$a = "***PHP8***";
echo "原文輸出的是:" .$a;
echo "<br>";
$a = ltrim($a,"*"); //去除左側(cè)的*
echo "處理以后輸出的是:" .$a;
?>
在PHP8中運行的結(jié)果是:
原文輸出的是:***PHP8***
處理以后輸出的是:PHP8***
1.3、rtrim()函數(shù)
rtrim()函數(shù)從右側(cè)清楚字符串的空格和特殊字符。語法格式如下:
rtrim(string,charlist)
其中,string是需要檢查的字符串,charlist為可選參數(shù),用于設(shè)置需要被去除的字符。
示例代碼:
<?php
$a = "***PHP8***";
echo "原文輸出的是:" .$a;
echo "<br>";
$a = rtrim($a,"*"); //去除左側(cè)的*
echo "處理以后輸出的是:" .$a;
?>
在PHP8中運行的結(jié)果是:
原文輸出的是:***PHP8***
處理以后輸出的是:***PHP8
2、獲取字符串的長度
在PHP8中,計算字符串長度的函數(shù)有:strlen()和mb_strlen()。當字符串全部是英文的時候,strlen()和mb_strlen()是一樣的。當字符串里面包含中文字符時二者就不一樣了,當有中文的時候就使用mb_strlen()的才行。strlen()就統(tǒng)計不準確了。
說到中文字符,我們就來先說明一下,各種類型的字符串所占用的字節(jié)。
數(shù)字、英文、小數(shù)點、下劃線和空格占一個字節(jié)。
一個漢字占2-4字節(jié),具體占幾個字節(jié),根據(jù)使用什么編碼決定的。漢字在GBK/GB2312編碼中占2個字節(jié),在UTF-8/Unicode中一般占3個字節(jié)(2-4字節(jié)也有)。一個中文的標點符號,也是兩個字符?,F(xiàn)在我們寫網(wǎng)頁的編碼基本上都是國際編碼UTF-8。
接下來使用strlen()函數(shù)和mb_strlen()函數(shù)獲取字符串的長度。
2.1、strlen()函數(shù)
strlen()函數(shù)主要用于獲取字符串的長度,語法如下:
strlen($str)
其中,str就是需要計算長度的字符串。還有一個就是返回值,如果成功返回字符串str的長度,如果str為空,則返回0.
示例:
<?php
$a = "你好,世界";
$b = "hello world";
$c = "HELLO WORLD";
echo "字符串a(chǎn)的長度為:".strlen($a);
echo "<br>";
echo "字符串b的長度為:".strlen($b);
echo "<br>";
echo "字符串c的長度為:".strlen($c);
?>
以上代碼在PHP8中,運行的結(jié)果為:
字符串a(chǎn)的長度為:15
字符串b的長度為:11
字符串c的長度為:11
以上結(jié)果可以看出,大小寫是一樣的,但是中文的輸出你們覺得對嗎?
如果說輸出的是字節(jié)的大小,那還算是對的,但是如果是字符串的長度,那肯定是不對的。
接下來就學習使用mb_strlen()函數(shù)來統(tǒng)計帶中文的字符串。
2.2、mb_strlen()函數(shù)
mb_strlen()函數(shù)用于統(tǒng)計帶中文字符串的長度,mb_strlen()函數(shù)語法格式如下:
mb_strlen($str,$encoding)
其中,str:就是計算長度的字符串。
encoding:就是字符串編碼。如果省略,則使用內(nèi)部字符編碼。
返回值:返回具有encoding編碼的字符串包含的字符數(shù)。多字節(jié)的字符被記為1.如果給定的encoding無效則返回FALSE。
mb_strlen()函數(shù)和strlen()函數(shù)用法上面大體一致,多了一個字符編碼的可選參數(shù)而已。
示例代碼:
<?php
$a = "你好,世界";
$b = "hello world";
$c = "HELLO WORLD";
echo "字符串a(chǎn)的長度為:".mb_strlen($a);
echo "<br>";
echo "字符串b的長度為:".mb_strlen($b);
echo "<br>";
echo "字符串c的長度為:".mb_strlen($c);
?>
以上代碼在PHP8中的運行結(jié)果為:
字符串a(chǎn)的長度為:5
字符串b的長度為:11
字符串c的長度為:11
字符串的操作的內(nèi)容太多了,多分一天來寫了。明天繼續(xù)寫后面的字符串的操作。
本文地址:http://003188.cn/php8dezifuchuancaozuo.html
阿里云虛擬主機1G空間,120元一年
香港、美國虛擬主機100元一年,1000元永久
騰訊云雙十一0.4折起,2核8G5M三年僅700元,2核4G8M三年僅198元
猜你喜歡