首頁 >後端開發 >PHP問題 >怎麼用php檢查一個字串是否在陣列中

怎麼用php檢查一個字串是否在陣列中

PHPz
PHPz原創
2023-03-28 15:00:351582瀏覽

在PHP開發中,查詢一個字串是否在陣列中是一個很常見的操作。在這篇文章中,我們將會探討一些方法來檢查一個字串是否在PHP陣列中。

方法一:使用in_array()函數

PHP中的in_array()函數用來檢查一個值是否存在於陣列中。我們可以使用這個函數來尋找字串是否在陣列中:

$array = array('apple', 'banana', 'orange', 'grape');

if (in_array('banana', $array)) {
    echo 'Found';
} else {
    echo 'Not Found';
}

這個程式碼會輸出:Found。因為‘banana’存在於數組中。

下面我們把它改為搜尋另一個字串‘watermelon’:

$array = array('apple', 'banana', 'orange', 'grape');

if (in_array('watermelon', $array)) {
    echo 'Found';
} else {
    echo 'Not Found';
}

這個程式碼會輸出:Not Found,因為‘watermelon’不在陣列中。

方法二:使用array_search()函數

現在,我們來看看另一個方法來找出字串是否在PHP陣列中。使用array_search()函數:

$array = array('apple', 'banana', 'orange', 'grape');

if (array_search('banana', $array)) {
    echo 'Found';
} else {
    echo 'Not Found';
}

這個程式碼會輸出:Found。因為‘banana’存在於數組中。

下面我們把它改為搜尋另一個字串‘watermelon’:

$array = array('apple', 'banana', 'orange', 'grape');

if (array_search('watermelon', $array)) {
    echo 'Found';
} else {
    echo 'Not Found';
}

這個程式碼會輸出:Not Found,因為‘watermelon’不在陣列中。

方法三:使用in_array()和strtolower()函數

在以上兩種方法中,我們沒有考慮大小寫問題。所以以下的方法是忽略大小寫的:

$array = array('Apple', 'Banana', 'Orange', 'Grape');

$search_term = 'banana';

if (in_array(strtolower($search_term), array_map('strtolower', $array))) {
    echo 'Found';
} else {
    echo 'Not Found';
}

使用array_map()函數處理遍歷整個數組中的字串,使用strtolower()函數將字串轉換為小寫形式並將其儲存在新數組中。然後,我們可以使用in_array()函數來尋找指定的字串是否在新陣列中。

如果我們改為搜尋另一個字串例如‘Watermelon’:

$array = array('Apple', 'Banana', 'Orange', 'Grape');

$search_term = 'Watermelon';

if (in_array(strtolower($search_term), array_map('strtolower', $array))) {
    echo 'Found';
} else {
    echo 'Not Found';
}

這裡輸出 Not Found,因為新陣列中沒有任何字串與‘Watermelon’相符。

到這裡,我們掌握了PHP中檢查一個字串是否存在於一個陣列中的三種不同方法。從效能角度來看,in_array()函數和array_search()函數似乎更有效率,並且沒有遍歷整個陣列元素的操作。

以上是怎麼用php檢查一個字串是否在陣列中的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn