檢查字串中是否包含特定單字
檢查字串是否包含特定單字是程式設計中的常見動作。考慮以下程式碼:
$a = 'How are you?'; if ($a contains 'are') echo 'true';
if ($a contains 'are') 語句的正確編寫方式是什麼?
解決方案:str_contains 函數(PHP 8)
從PHP 8 開始,str_contains 提供了一個簡單的解決方案:
if (str_contains('How are you', 'are')) { echo 'true'; }
但是,需要注意的是,如果要搜尋的子字串($needle) 為空,則str_contains 始終傳回 true。為了避免這種情況,請在使用 str_contains 之前驗證 $needle 是否為空。
替代方案(PHP 8 之前)
在PHP 8 之前,strpos() 函數用於此目的:
$haystack = 'How are you?'; $needle = 'are'; if (strpos($haystack, $needle) !== false) { echo 'true'; }
在這種情況下,strpos() 傳回位置$haystack 中$needle 的位置,若找不到則傳回false。但是,使用 !== false 是必要的,因為 0 是有效位置且計算結果也為 falsey。
以上是PHP中如何有效率地檢查字串中是否包含特定單字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!