首頁 >後端開發 >PHP問題 >php怎麼判斷是否包含在陣列中

php怎麼判斷是否包含在陣列中

PHPz
PHPz原創
2023-04-23 19:29:53430瀏覽

在 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' 沒有被找到:(",因為我們現在執行大小寫敏感的比較。'AP​​PLE' 不等於'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"。原因是:

  • 在$fruits 數組中找到了字串'apple'。
  • # array_search() 函數傳回與'apple' 相符的鍵,即2。

#在實際程式設計中,您可能需要搜尋複雜的多維數組或執行進階篩選器,讓您的判斷邏輯更強大。但是,在PHP 中使用in_array() 和array_search() 函數總是一個好的起點。

以上是php怎麼判斷是否包含在陣列中的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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