隨著PHP8的發布,該語言引入了一個新的字串搜尋函數str_contains(),這個函數在字串中搜尋指定的子字串,並傳回一個布林值來表示該字串是否包含指定的子字串。這個新函數提供了一種簡單且快速的方式,用於判斷字串中是否包含一個指定的子字串。以下我們來詳細了解str_contains()的用法及其優點。
一、str_contains()函數的語法和用法
str_contains()函數的語法如下:
str_contains($string, $substring);
其中,$string參數是要搜尋的字串,$ substring參數是要搜尋的子字串。函數會在指定字串中搜尋指定子字串,如果找到了該子字串,則傳回true,否則傳回false。
下面是一個簡單的範例程式碼,展示了str_contains()函數的用法:
$string = 'hello world'; if (str_contains($string, 'world')) { echo "Found world in the string"; } else { echo "Could not find world in the string"; }
上述程式碼輸出結果為:Found world in the string。
二、str_contains()相較於其他字串搜尋函數的優勢
在先前的版本中,可以使用strpos()函數來搜尋子字串。以下是一個使用strpos()函數的範例程式碼:
$string = 'hello world'; if (strpos($string, 'world') !== false) { echo "Found world in the string"; } else { echo "Could not find world in the string"; }
跟剛才的範例相比較,這段程式碼輸出結果同樣為Found world in the string。但是,strpos()函數和str_contains()函數有一個很大的差異:strpos()函數傳回子字串第一次出現的位置。如果第一次出現的位置是0,則會被誤解為傳回false,這就使得strpos()函數的回傳值與布林值類型不相容,所以必須使用全等(===)運算子來比較。
str_contains()函數比strpos()函數更為簡單。它傳回一個布林值,只是判斷字串中是否出現了指定的子字串,對於子字串的位置和重複出現次數不需要關心。因此,在現實的程式設計中,使用str_contains()比使用strpos()更為方便和可讀性更高。
三、結論
總的來說,str_contains()函數是一個在PHP8版本中非常實用的新函數,提供了一個方便、快速、可讀性高的方式來檢查字串中是否包含指定的子字串。與先前的strpos()函數相比,它更加直觀,使我們編寫的程式碼更加清晰易懂。
雖然在PHP8中引入了str_contains()函數,但是strpos()函數仍然有效,可以繼續使用。因此,我們需要在編程時,根據具體情況選擇合適的函數來完成字串搜尋的操作,以使我們的程式碼更有效率、簡潔。
以上是PHP8中的函數:str_contains(),字串搜尋的新方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!