在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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3漢化版
中文版,非常好用

Dreamweaver CS6
視覺化網頁開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)