首頁  >  文章  >  後端開發  >  php判斷不存在某個數組內

php判斷不存在某個數組內

WBOY
WBOY原創
2023-05-19 13:51:37375瀏覽

在PHP開發中,陣列是經常使用的資料類型之一。有時候我們需要判斷某個值是否存在於陣列中,可以使用in_array()函數來實作。但是如果我們需要判斷某個值是否不存在於數組中,該怎麼做呢?本文將介紹兩種方法來解決這個問題。

方法一:使用!in_array()函數
in_array()函數可以判斷某個值是否存在於陣列中,如果存在則傳回true,否則傳回false。那麼使用!in_array()函數就可以判斷某個值是否不存在於數組中了。如下所示:

$array = array(1, 2, 3, 4, 5);
if (!in_array(6, $array)) {
    echo '6不存在于数组中';
}

程式碼中,判斷6是否不存在於數組中,如果不存在則輸出'6不存在於數組中'。

方法二:使用array_search()函數
array_search()函數在陣列中搜尋給定的值,並傳回對應的鍵名。如果搜尋成功,則傳回該鍵名;否則傳回false。那麼,如果想判斷某個值是否不存在於陣列中,可以用array_search()函數來實作。如下所示:

$array = array(1, 2, 3, 4, 5);
if (false === array_search(6, $array)) {
    echo '6不存在于数组中';
}

程式碼中,使用array_search()函數搜尋6在$array數組中的鍵名,如果搜尋失敗回傳false,則判斷6不存在於數組中,輸出'6不存在於數組中'。

但要注意的是,使用!in_array()或array_search()函數判斷某個值是否不存在於陣列中時,需要將傳回值的型別和值都進行比較,而不能只比較值。因為在PHP中,false有時也會被認為是0或空字串。所以,最好使用"==="來比較。例如:

$array = array(0, false, "", null);
if (false === array_search(0, $array)) {
    echo "0不在数组中";
}
if (false === in_array(false, $array)) {
    echo "false不在数组中";
}
if (false === in_array("", $array)) {
    echo "空字符串不在数组中";
}
if (false === in_array(null, $array)) {
    echo "null不在数组中";
}

程式碼中,$array陣列包含了0、false、空字串和null,分別使用array_search()和in_array()函數判斷這些值是否不存在於陣列中。由於false和0、空字串的型別不同,所以要使用"==="來比較。

以上就是判斷某個值不存在於陣列中的兩種方法,希望能對PHP開發有所幫助。

以上是php判斷不存在某個數組內的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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