91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何檢測子字符串是否存在

發布時間:2022-10-16 09:28:25 來源:億速云 閱讀:304 作者:iii 欄目:編程語言

這篇“php如何檢測子字符串是否存在”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“php如何檢測子字符串是否存在”文章吧。

4種方法:1、用stripos()查找子串的出現位置,語法“stripos(字符串,子串)”;2、用strripos()查找子串的的出現位置,語法“strripos(字符串,子串)”;3、用strpos()查找子串的出現位置,語法“strpos(字符串,子串)”;4、用strrpos()查找子串的出現位置,語法“strrpos(字符串,子串)”。

本教程操作環境:windows7系統、PHP8.1版、DELL G3電腦

在進行字符串查找操作時,有時會要求在某一字符串中查找指定的子字符串(簡稱子串),看看該子串是否存在于這個字符串中。

我們一般會通過使用PHP內置函數來查找這個子串在字符串的第一次或最后一次的出現位置來進行判斷。而查找字符串有兩種情況:一種是對大小寫不敏感,即不區分大小寫的查找;另外一種是對大小寫敏感,即區分大小寫的查找。

情況一:判斷子串是不是存在(大小寫不敏感)

我們來看看下面一下栗子。

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme = "bC";
echo "子串  “'$findme'” 第一次出現的位置:".stripos($string, $findme);
echo "<br>子串  “'$findme'” 最后一次出現的位置:".strripos($string, $findme);
?>

看看上例的代碼,你們覺得這個結果會是什么?第一次出現的位置為“2”,最后一次出現的位置為“8”,對不對?我們來看一下輸出結果:

php如何檢測子字符串是否存在

哎呀,居然是“1”和“7”,為什么會這樣?原因是:字符串位置起始于 0,而不是 1。我們按起始位置1來算當然不對。

因此我們就可以使用以下代碼來判斷子串是不是存在

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme = "bC";

if(stripos($string, $findme)!=FALSE){
	echo "子串  “'$findme'” 在字符串  “'$string'” 中存在。";
}else{
	echo "子串  “'$findme'” 在字符串  “'$string'” 中不存在。";
}

if(strripos($string, $findme)!=FALSE){
	echo "<br>子串  “'$findme'” 在字符串  “'$string'” 中存在。";
}else{
	echo "<br>子串  “'$findme'” 在字符串  “'$string'” 中不存在。";
}
?>

輸出結果:

php如何檢測子字符串是否存在

下面我們具體看看這兩個函數吧。

stripos($string,$find,$start)函數可以查找字符串在另一字符串中第一次出現的位置(不區分大小寫)。

strripos($string,$find,$start)函數可以查找字符串在另一字符串中最后一次出現的位置(不區分大小寫)。

這兩個函數的參數是相似的,都接受兩個必需參數$string$find,一個可省略參數$start

  • $string參數:用于指定要被查找的字符串。

  • $find參數:用于指定要查找的子串,可以包含一個或者多字符。(如果不是字符串類型,那么它將被轉換為整型并被視為字符順序值)。

  • $start參數:用于指定從$string 中的哪個字符開始查找,返回的位置數字值仍然相對于 $string 的起始位置。

但strripos()函數的$start參數允許使用負值,此時將使得查找從字符串的起始位置開始,到 $start 位置為止。

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme = "bC";
echo "子串  “'$findme'” 第一次出現的位置:".stripos($string, $findme,2);
echo "<br>子串  “'$findme'” 最后一次出現的位置:".strripos($string, $findme,-5);
?>

輸出結果:

php如何檢測子字符串是否存在

情況2:檢測子串是不是存在(大小寫敏感)

我們來看看下面一下示例

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme1 = "bC";
$findme2 = "bc";
$pos1 = strpos($string, $findme1);
$pos2 = strrpos($string, $findme1);
$pos3 = strpos($string, $findme2);
$pos4 = strrpos($string, $findme2);

if($pos1 !=FALSE){
	echo "子串 '$findme1' 在字符串  '$string' 中存在。";
}else{
	echo "子串  '$findme1' 在字符串  '$string' 中不存在。";
}

if($pos2 !=FALSE){
	echo "<br>子串  '$findme1' 在字符串  '$string' 中存在。";
}else{
	echo "<br>子串  '$findme1' 在字符串  '$string' 中不存在。";
}
if($pos3 !=FALSE){
	echo "<br>子串  '$findme2' 在字符串  '$string' 中存在。";
}else{
	echo "<br>子串  '$findme2' 在字符串  '$string' 中不存在。";
}

if($pos4 !=FALSE){
	echo "<br>子串  '$findme2' 在字符串  '$string' 中存在。";
}else{
	echo "<br>子串  '$findme2' 在字符串  '$string' 中不存在。";
}
?>

strpos()和strrpos()函數會區分大小寫的在字符串$string中查找子串$findme1或者$findme2。當完全匹配上,存在子串時,會返回子串在字符串的第一次或最后一次的出現位置;如果在字符串的沒有找到子串,則返回FALSE

從上面的例子可以看出,只有子串"bc"和字符串“ABCDCBAbcd”是完全匹配,子串"bc"被認為是存在于字符串“ABCDCBAbcd”中的。因此輸出結果為:

php如何檢測子字符串是否存在

下面我們來詳細了解一下strpos()和strrpos()函數。

  • strpos($string,$find,$start)函數可以返回子字符串首次出現的位置(區分大小寫);

  • strrpos($string,$find,$start)函數可以返回子字符串最后一次出現的位置(區分大小寫);

strpos()和strrpos()函數相似,都接受兩個必需參數$string(被查找的字符串)和$find(要查找的子串),一個可省略參數$start(查找的開始位置)。注:字符串位置起始于 0,而不是 1。

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCabcabcABC";
$findme1 = "c";
$findme2 = "C";
echo "子串  '$findme1' 第一次出現的位置:".strpos($string, $findme1);
echo "<br>子串  '$findme1' 最后一次出現的位置:".strrpos($string, $findme1);
echo "<br>子串  '$findme2' 第一次出現的位置:".strpos($string, $findme2);
echo "<br>子串  '$findme2' 最后一次出現的位置:".strrpos($string, $findme2);
?>

輸出結果:

php如何檢測子字符串是否存在

但strrpos()函數的參數$start可以接受負值,當它為負數時,將會導致查找在字符串結尾處開始的計數位置處結束。

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCabcabcABC";
$findme1 = "c";
$findme2 = "C";
echo "子串  '$findme1' 第一次出現的位置:".strpos($string, $findme1);
echo "<br>子串  '$findme1' 最后一次出現的位置:".strrpos($string, $findme1,-5);
echo "<br>子串  '$findme2' 第一次出現的位置:".strpos($string, $findme2);
echo "<br>子串  '$findme2' 最后一次出現的位置:".strrpos($string, $findme2,-5);
?>

輸出結果:

php如何檢測子字符串是否存在

以上就是關于“php如何檢測子字符串是否存在”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

宁蒗| 蒲江县| 大埔县| 西乌| 黄陵县| 青铜峡市| 团风县| 滁州市| 方正县| 互助| 六枝特区| 平塘县| 乌兰浩特市| 临颍县| 南开区| 大田县| 通海县| 二手房| 连江县| 会泽县| 汶川县| 博湖县| 察哈| 子洲县| 泾阳县| 同仁县| 宁强县| 那坡县| 汝城县| 遵义市| 成都市| 乐安县| 盐山县| 饶平县| 二连浩特市| 嘉定区| 贺兰县| 开原市| 德庆县| 通州区| 淄博市|