PHP8的字符串操作2-PHP8知識(shí)詳解
導(dǎo)讀:PHP對(duì)字符串的截取可以使用內(nèi)置函數(shù)substr()和mb_substr()實(shí)現(xiàn)。檢索字符串就是在一個(gè)字符串中查找另一個(gè)字符串,就像我們?cè)谖谋揪庉嬈骼锩娌檎谊P(guān)鍵字一樣。可以使用strstr()函數(shù)、stristr()函數(shù)、strpos()函數(shù)。
永久美國(guó)免備案虛擬主機(jī)1元1天,15元1月,100元1年,1000元永久
站長(zhǎng)在線旗下答案網(wǎng)站,全站所有題目,免費(fèi)查看答案和答案解析
今日繼續(xù)分享《PHP8的字符串操作》昨天一天都沒(méi)有寫多少,內(nèi)容多,今天繼續(xù):
昨天分享的是1、使用trim()、rtrim()和ltrim()函數(shù)去除字符串首尾空格和特殊字符。2、使用strlen()函數(shù)和mb_strlen()函數(shù)獲取字符串的長(zhǎng)度。
3、截取字符串
PHP對(duì)字符串的截取可以使用內(nèi)置函數(shù)substr()和mb_substr()實(shí)現(xiàn)。
通常情況下,substr()函數(shù)用于截取英文字符。mb_substr()函數(shù)用于帶有中文字符的字符串。
3.1、substr()函數(shù)
在一個(gè)字符串中截取一個(gè)子串,就是字符串截取。使用substr()函數(shù),可以完成字符串的截取。
substr()函數(shù)有3個(gè)參數(shù),分別是目標(biāo)字符串、起始位置和截取長(zhǎng)度。語(yǔ)法格式如下:
substr(目標(biāo)字符串,起始位置,截取長(zhǎng)度)
其中:
1、目標(biāo)字符串是某個(gè)字符串變量的變量名,起始位置和截取長(zhǎng)度都是整數(shù)。
2、如果都是正數(shù),起始位置的整數(shù)必須小于截取長(zhǎng)度的整數(shù),否則函數(shù)返回值為假。
3、如果截取的字符串為負(fù)數(shù),則意味著是從起始位置開始往后,截取從目標(biāo)字符串結(jié)尾算起的長(zhǎng)度數(shù)的字符以外的所有字符。
4、字符串的起死位置是從0開始計(jì)算的,也就是字符串中第一個(gè)字符的位置表示為0。
下面,本站制作的一個(gè)PHP字符串起始位置的示意圖,讓大家更好的進(jìn)行理解:
使用substr()函數(shù)截取字符串長(zhǎng)度,參考代碼:
<?php
$a = "Welcome to China";
echo substr($a,0); //從第1個(gè)字符開始截取
echo "<br>";
echo substr($a,3,10); //從第4個(gè)字符開始截取10個(gè)字符
echo "<br>";
echo substr($a,-5,5); //從倒數(shù)第5個(gè)字符開始截取5個(gè)字符
echo "<br>";
echo substr($a,0,-5); //從第1個(gè)字符,到倒數(shù)第5個(gè)字符
?>
在php8中運(yùn)行以上程序的結(jié)果是:
Welcome to China
come to Ch
China
Welcome to
3.2、mb_substr()函數(shù)
mb_substr()函數(shù)用于截取,帶有漢字字符的字符串,語(yǔ)法格式如下:
mb_substr(目標(biāo)字符串,起始位置,截取長(zhǎng)度,$encoding = 編碼)
其中:
1、目標(biāo)字符串是某個(gè)字符串變量的變量名,起始位置和截取長(zhǎng)度都是整數(shù)。
2、起始位置就是要截取的第一個(gè)位置。如果長(zhǎng)度為正數(shù)就是正序,如果長(zhǎng)度為負(fù)數(shù)就是反序。
3、encoding表示字符編碼,如果省略,則使用內(nèi)部字符編碼。
4、返回值是根據(jù)目標(biāo)字符串和起始位置,截取長(zhǎng)度等返回目標(biāo)字符串的一部分。
代碼示范:
<?php
$a = "我是中國(guó)人,我愛(ài)自己的祖國(guó)";
echo mb_substr($a,0); //從第1個(gè)字符開始截取
echo "<br>";
echo mb_substr($a,3,10); //從第4個(gè)字符開始截取10個(gè)字符
echo "<br>";
echo mb_substr($a,-5,5); //從倒數(shù)第5個(gè)字符開始截取5個(gè)字符
echo "<br>";
echo mb_substr($a,0,-5); //從第1個(gè)字符,到倒數(shù)第5個(gè)字符
?>
在PHP8中運(yùn)行的結(jié)果如下:
我是中國(guó)人,我愛(ài)自己的祖國(guó)
國(guó)人,我愛(ài)自己的祖國(guó)
自己的祖國(guó)
我是中國(guó)人,我愛(ài)
4、檢索字符串
檢索字符串就是在一個(gè)字符串中查找另一個(gè)字符串,就像我們?cè)谖谋揪庉嬈骼锩娌檎?a href="http://003188.cn/tag/guanjianzi/" data-type="mip" data-title="關(guān)鍵字" target="_blank" title="關(guān)鍵字">關(guān)鍵字一樣。
要想檢索字符串,我們可以使用以下內(nèi)置函數(shù)。
4.1、strstr()函數(shù)
獲取一個(gè)指定字符串在另一個(gè)字符串中,首次出現(xiàn)的位置到末尾的子字符串,可以使用strstr()函數(shù),語(yǔ)法如下:
strstr(目標(biāo)字符串,查找的字符串)
示例:
<?php
$a = "我正在學(xué)習(xí)PHP8,你要學(xué)習(xí)嗎?";
echo strstr($a,"PHP");
?>
以上代碼在PHP8中的運(yùn)行結(jié)果為:
PHP8,你要學(xué)習(xí)嗎?
上面的查找的字符串是有大小寫區(qū)分的,我修改大小寫就不能正確顯示了。
<?php
$a = "我正在學(xué)習(xí)PHP8,你要學(xué)習(xí)嗎?";
echo strstr($a,"php");
?>
在PHP8中運(yùn)行結(jié)果為:空(什么都不顯示),要想不區(qū)分大小寫,可以使用stristr()函數(shù)。
4.2、stristr()函數(shù)
stristr()函數(shù)和strstr()函數(shù)一樣,就是可以不區(qū)分大小寫,如下代碼:
<?php
$a = "我正在學(xué)習(xí)PHP8,你要學(xué)習(xí)嗎?";
echo stristr($a,"php");
?>
以上代碼在PHP8中的運(yùn)行結(jié)果為:
PHP8,你要學(xué)習(xí)嗎?
4.3、strpos()函數(shù)
strpos()函數(shù)用于查找字符串首次出現(xiàn)的位置,返回數(shù)字首次出現(xiàn)的位置。strpos()函數(shù)語(yǔ)法如下:
strpos(目標(biāo)字符串,查找的字符串)
參考代碼如下:
<?php
$a = "我正在學(xué)習(xí)PHP8,你要學(xué)習(xí)嗎?";
echo strpos($a,"PHP");
?>
在PHP8中運(yùn)行結(jié)果如下:
15
今天就寫到這里,字符串的操作還沒(méi)有寫完,明天繼續(xù)寫PHP8的字符串操作3。
本文地址:http://003188.cn/php8dezifuchuancaozuo2.html
阿里云虛擬主機(jī)1G空間,120元一年
香港、美國(guó)虛擬主機(jī)100元一年,1000元永久
騰訊云雙十一0.4折起,2核8G5M三年僅700元,2核4G8M三年僅198元
猜你喜歡