在 PHP 中,判斷一個元素(數值或字串)是否在陣列中是常見的操作。這個過程是透過使用 in_array() 函數來實現的,該函數使用非常簡單且有效。
in_array() 函數有兩個必填參數和一個可選參數。第一個參數是目標元素,第二個參數是包含目標元素的數組,第三個參數是一個布林值,用於檢查是否需要使用嚴格類型比較。
下面是一個使用in_array() 函數進行簡單檢測的例子,它將檢查'apple' 是否在下面的數組中:
$fruits = array('banana', 'orange', 'apple'); if (in_array('apple', $fruits)) { echo "'apple' 被找到了!"; } else { echo "'apple' 没有被找到 :("; }
當運行這個程式碼時,最終輸出將是"'apple' 被找到了!"。
在這個範例中,in_array() 函數檢查陣列 $fruits 是否包含元素 'apple'。由於 'apple' 存在於陣列 $fruits 中,因此條件分支將輸出 "'apple' 被找到了!"。很簡單吧!
預設情況下,in_array() 函數對字串執行不區分大小寫的比較。因此,如果我們以以下方式定義陣列:
$fruits = array('banana', 'orange', 'APPLE');
程式碼仍然會輸出 "'apple' 被找到了!"。原因是如果第二個參數(即數組)包含字串元素(不區分大小寫),則 in_array() 將仍然匹配元素。
如果您希望使用大小寫敏感的比較,則必須在函數的第三個參數中傳遞布林值TRUE,如下所示:
$fruits = array('banana', 'orange', 'APPLE'); if (in_array('apple', $fruits, TRUE)) { echo "'apple' 被找到了!"; } else { echo "'apple' 没有被找到 :("; }
輸出將是"'apple' 沒有被找到:(",因為我們現在執行大小寫敏感的比較。'APPLE' 不等於'apple'。
另外,還可以使用array_search() 函數執行更多高級搜尋。array_search() 函數傳回數組中與目標元素相符的第一個鍵。如果找不到,則傳回FALSE。
下面是使用array_search() 函數檢查'apple' 是否在數組中的範例:
$fruits = array('banana', 'orange', 'apple'); $key = array_search('apple', $fruits); if ($key !== false) { echo "'apple' 被找到了! 键是 $key"; } else { echo "'apple' 没有被找到 :("; }
輸出將是"'apple' 被找到了! 鍵是2"。原因是:
#在實際程式設計中,您可能需要搜尋複雜的多維數組或執行進階篩選器,讓您的判斷邏輯更強大。但是,在PHP 中使用in_array() 和array_search() 函數總是一個好的起點。
以上是php怎麼判斷是否包含在陣列中的詳細內容。更多資訊請關注PHP中文網其他相關文章!