首頁  >  文章  >  後端開發  >  php怎麼查詢某個值是否屬於數組

php怎麼查詢某個值是否屬於數組

PHPz
PHPz原創
2023-04-26 10:34:49699瀏覽

在PHP中,查詢一個值是否屬於一個陣列是一項非常基本的操作。本文將介紹三種不同的方法來確定某個值是否屬於一個陣列。

第一種方法:使用in_array()函數

PHP提供了一個in_array()函數,可以用來判斷一個值是否屬於一個陣列。此函數有兩個參數:第一個參數是要查詢的值,第二個參數是要查詢的陣列。如果第一個參數屬於第二個參數,則函數將傳回true,否則傳回false。

下面是一個範例:

<?php
$fruits = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;);
if (in_array(&#39;apple&#39;, $fruits)) {
    echo &#39;apple belongs to fruits array&#39;;
} else {
    echo &#39;apple does not belong to fruits array&#39;;
}
?>

以上程式碼會輸出:apple belongs to fruits array

第二種方法:使用array_search()函數

PHP也提供了另一個函數array_search(),可以用來查詢某個值是否屬於一個數組,而該函數也可以傳回該值在數組中的位置。如果查詢成功,函數將傳回該值在陣列中的鍵名,否則傳回false。

下面是一個範例:

<?php
$fruits = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;);
$search = array_search(&#39;apple&#39;, $fruits);
if ($search !== false) {
    echo &#39;apple belongs to fruits array, and its key is &#39; . $search;
} else {
    echo &#39;apple does not belong to fruits array&#39;;
}
?>

以上程式碼會輸出:apple belongs to fruits array, and its key is 0

請注意,如果在陣列中查詢到false 、0或'',也會回傳false,因此我們需要使用恆等運算元(===)來區分回傳false和回傳0的情況。

第三種方法:使用isset()函數

isset()函數用於確定一個變數是否存在,並且該變數是否設定了值。由於在一個陣列中,某個鍵是否已經設定為某個值,往往是我們是否希望查詢的結果。因此,我們也可以使用isset()函數來判斷一個值是否屬於一個陣列。如果變數已經設定為某個值,則isset()函數將傳回true,否則傳回false。

下面是一個範例:

<?php
$fruits = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;);
if (isset($fruits[array_search(&#39;apple&#39;, $fruits)])) {
    echo &#39;apple belongs to fruits array&#39;;
} else {
    echo &#39;apple does not belong to fruits array&#39;;
}
?>

以上程式碼會輸出:apple belongs to fruits array

請注意,由於這個範例中使用了array_search()函數,因此我們對結果進行了判斷,以避免某些不可預測的錯誤。

以上是php怎麼查詢某個值是否屬於數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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