php怎麼偵測子字串是否存在
4種方法:1、用stripos()找出子字串的出現位置,語法「stripos($str,$find)」;2、用strripos()找出子字串的出現位置,語法「strripos($str,$find)」;3、用strpos()找出子字串的出現位置,語法「strpos($str,$find)」;4、用strrpos()找出子字串的出現位置,語法「strrpos($str,$find)」。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
在進行字串尋找操作時,有時會要求在某一字串中尋找指定的子字串(簡稱子字串),看看該子字串是否存在於這個字串中。
我們一般會透過使用PHP內建函數來找出這個子字串在字串的第一次或最後一次的出現位置來進行判斷。而查找字串有兩種情況:一種是對大小寫不敏感,即不區分大小寫的查找;另一種是對大小寫敏感,即區分大小寫的查找。
情況一:判斷子字串是不是存在(大小寫不敏感)
大小寫不敏感的偵測子字串是不是存在,需要使用stripos()和strripos()函數。
stripos()和strripos()函數都可以大小寫不敏感的檢查指定子字串的出現位置,如果傳回值為FALSE,則指定子字串不存在。
因此我們就可以使用以下程式碼來判斷子字串是否存在
<?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'” 中不存在。"; } ?>
輸出結果:
說明: stripos()和strripos()函數
stripos($string,$find,$start)
函數可以找出字串在另一字串中第一次出現的位置(不區分大小寫)。
strripos($string,$find,$start)
函數可以找出字串在另一個字串中最後一次出現的位置(不區分大小寫)。
這兩個函數的參數是相似的,都接受兩個必要參數$string
和$find
,一個可省略參數$start
。
$string
參數:用於指定要被尋找的字串。$find
參數:用於指定要尋找的子字串,可以包含一個或多字元。 (如果不是字串類型,那麼它將被轉換為整數並被視為字元順序值)。$start
參數:用於指定從$string
中的哪個字元開始查找,傳回的位置數字值仍然相對於$string
的起始位置。
情況2:偵測子字串是否存在(大小寫敏感)
大小寫敏感的偵測子字串是不是存在,需要使用strpos()和strrpos()函數。
strpos()和strrpos()函數可以大小寫敏感的檢查指定子字串的出現位置,如果傳回值為FALSE,則指定子字串不存在。
範例:
<?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
」中的。因此輸出結果為:
說明:strpos()與strrpos()函數
# #strpos($string,$find,$start)
函數可以傳回子字串首次出現的位置(區分大小寫);
strrpos($string ,$find,$start)
函數可以傳回子字串最後一次出現的位置(區分大小寫);
$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影片教學》
以上是php怎麼偵測子字串是否存在的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。
