我發現了一些有趣的關於PHP的array_search功能,想知道是否有人能告訴我怎麼解決這個問題:PHP array_search:如何將key == 0與false區分開來?
它說,在docs是該函數返回鍵時,該值在數組中,否則返回false。
的問題是,如果你有一個數組,如:
$arr = array(0 => "red", 1 => "blue", ...);
,並使用array_search查找值紅色,那麼關鍵0將返回。
然而,問題是,如果您使用函數的結果來查找是否在數組中找到某個元素,那麼如果該值返回0(因爲實際上發現了具有鍵0的元素,則返回0) ,它在PHP中的處理方式與該函數返回false時的處理方式相同。換句話說:
if (array_search("red", $arr) == false)
如果相同:
if (array_search("red", $arr) == 0)
例外是,在一種情況下,元件無法找到和在第二種情況下,一個因素是也許發現哪個鍵是0.
所以我的問題是,這個問題的解決方案是什麼?
使用標識比較:'==='。 – lafor 2014-10-17 22:00:06
太棒了!謝謝。我可以建議你發佈這個答案。 – user18490 2014-10-17 22:00:44
在你分享的鏈接中有一個警告框。閱讀。 – HamZa 2014-10-17 22:01:10