檢查 PHP 字符串是否包含另一個字符串的 3 種方法

已發表: 2022-02-13

可能是編寫 PHP 代碼確定 PHP 字符串是否包含另一個字符串的最令人沮喪的部分。 但不用擔心——在本教程中,我們將展示使用多種方法識別子字符串是多麼容易。 除了展示它們之外,我們還將討論它們的優點,當然還有它們的缺點。 請記住,“根除”子字符串的方法不止一種。




目錄

如果 PHP 字符串包含另一個字符串的幾個注意事項

測試子字符串的第一個主要錯誤是使用了錯誤的比較運算符。 例如,如果您使用 != 檢查子字符串,您最終可能會得到所謂的誤報。 在這種情況下,最好使用 !==,它比較類型。

如果您在確定在特定上下文中使用哪個運算符時遇到問題,您可以參考這個 PHP 教程以獲取有關運算符及其功能的詳細信息。 您還將找到為新手程序員解釋的代碼示例。

正如我們所說,有不同的方法可以確定一個字符串是否包含一個單詞或另一個字符串。 迄今為止,有五種方法,但只有前三種是快速的。

  1. stripos ()區分大小寫以檢查一個字符串是否包含另一個字符串。
  2. 字符串中字符串的正則表達式
  3. strstr ()為另一個字符串中的一個字符串。

1.使用區分大小寫的字符串引用stripos()檢查子字符串

檢查一個字符串是否包含另一個字符串的最快和最輕鬆的方法是使用 stripos() 函數,該函數基本上搜索字符串是否包含特定單詞。 如果字符串包含子字符串/單詞,則函數將返回 TRUE,如果字符串不包含它們,則函數將返回 FALSE。




為了幫助您可視化 stripos() 的工作原理,這裡有一個示例。

$first_string = “我比你大 10 歲。”

$sought_word=“年”

$字符 = “我”




$targeted_substring = “10 年”

如果 (strpos ($first_String, $sought_word) !== false {

echo '這個單詞“'.$sought_word.'”在字符串中。';

}

(這會告訴你世界“年”可以在這個特定的字符串中找到)




if (stripos ($first_string, $character) !== false) {

echo '這個字符' '.$character.' “可以在這個特定的字符串中找到。”;

}

(這些行會告訴你“I”可以在給定的字符串中找到)

if (strpos ($first_string, $targeted substring) !== false {




echo '目標子字符串“'.targeted_substring.'”可以在這個字符串中找到。”

(這些行將告訴您可以在字符串中找到子字符串“5 years”)。

if (strpos($first_string, $character) != false) {

echo '這個字符' '.$character.' “出現在這個字符串中。”

} 別的 {

echo '這個字符' '.$character.' “ 沒有出現在這個字符串中。

(這些行將告訴您在該特定字符串中找不到字符“I”。)

  • 相關:5 個最佳免費在線 Web 開發課程
  • 學習網頁設計的 5 個最佳地點

2.字符串中子字符串的正則表達式

正則表達式又名 Regex 更適合在給定子字符串中搜索複雜模式。

這是一個如何使用上一個示例中定義的函數搜索子字符串的示例。

$first_string = “我比你大 10 歲。”

$sought_word=“年”

$字符 = “我”

$targeted_substring = “10 年”

如果 (preg_match('/years/', $first_string)) {

echo '單詞“'.$sought_word.' “可以在這個字符串中找到。”;

}

(告訴用戶可以在該字符串中找到單詞“years”)

if (preg_match('/I/', $first_string)) {

echo '字符“'.$character.; “出現在這個字符串中。” ;

}

(告訴你“我”出現在你的字符串中。)

if (preg_match('/10 years/', $first_string)) {

echo '這個子字符串:'.$targeted_substring。' “出現在提供的字符串中。”

}

(告訴您定義為“10 年”的子字符串出現在您聲明的字符串中)。

3. strstr() 函數在字符串中查找子字符串

strstr() 函數非常通用,這意味著它可以用於搜索特定字符串中的子字符串、字符和單詞。 它所做的基本上是只返回包含第一個字符串的部分,從第一次出現的子字符串/單詞一直到最後。 這是一個示例,可幫助您了解該功能如何

作品。

$first_string = “我比你大 10 歲。”

$sought_word=“年”

$字符 = “我”

$targeted_substring = “10 年”

如果 (strstr($first_string, $sought_word) !==false) {

echo '單詞“'.$sought_word.'”出現在字符串中。;

}

(告訴你“年”在字符串中彈出)

if (strstr($first_string, $character) !==false) {

echo 'The character" '$character.'" 出現在給定的字符串中。';

}

(告訴用戶字符“I”出現在字符串中)

if (strstr($first_string, $targeted_substring) !==false) {

echo '子字符串“'.$targeted_substring.; “出現在字符串中。”;

}

結論

好了,伙計們,確定您正在測試的字符串是否有子字符串的三種簡單方法。 同樣,請注意運算符,並確保使用多種方法測試您的字符串以避免誤報結果。

如果您想學習 PHP 或任何語言,我建議您從任何一個頂級在線學習平台(如 Udemy)參加在線課程,它以非常低的價格為您提供任何類型的課程。 您可以閱讀有關 Udemy 的完整詳細信息。 您還可以查看我們的 Udemy 折扣券頁面以獲取最新優惠。

如果你喜歡這個關於檢查PHP 字符串是否包含另一個字符串的方法的教程,請分享它。 想要更多提示,請在 Facebook、Twitter 和 YouTube 上關注 whatvwan。