使用in_array() 搜尋多維數組
而in_array() 函數是檢查數組中值是否存在的便捷工具數組,但在處理具有多維結構的陣列時它就顯得不足了。要克服此限制,請考慮以下事項:
自訂遞歸函數
您可以使用像這樣的遞歸函數,而不是依賴 in_array() in_array_r:
function in_array_r($needle, $haystack, $strict = false) { foreach ($haystack as $item) { if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) { return true; } } return false; }
用法:
要使用in_array_r 函數,請提供其Needle(您要尋找的值)、haystack(多維數組)和可尋找選的嚴格參數(控制嚴格相等比較)。例如:
$b = array(array("Mac", "NT"), array("Irix", "Linux")); echo in_array_r("Irix", $b) ? 'found' : 'not found';
以上是如何在PHP中高效搜尋多維數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!