使用 in_array() 查詢多維數組
In_array() 輕鬆辨識一維數組中元素的存在。然而,它在多維數組中的應用提出了挑戰,使其實用性受到質疑。為了解決這個問題,可以使用遞歸函數來遞歸地遍歷多維數組並確定所需元素的存在。
函數恰當地命名為in_array_r(),採用三個參數:目標元素($針),要搜尋的陣列($haystack),以及一個可選參數($strict),該參數指示是否應使用嚴格相等(===)或寬鬆相等(==)
函數的迭代過程涉及檢查乾草堆中的每個元素($item)。如果該項目按照指定的比較方法與目標元素匹配,則函數傳回 true。如果元素本身是一個數組,則函數會以該數組作為新的乾草堆遞歸來呼叫自身,從而有效地探索多維結構的進一步層級。
遞歸繼續,直到檢查完所有元素或直到目標元素被發現。如果該元素仍然難以捉摸,函數將傳回 false。
為了示範其功能,請考慮以下用法:
$b = array(array("Mac", "NT"), array("Irix", "Linux")); echo in_array_r("Irix", $b) ? 'found' : 'not found';
在此範例中,該函數搜尋是否存在「Irix」在多維數組 $b 中。如果找到,則輸出“found”;否則,它輸出“未找到”。
以上是如何在 PHP 中有效地使用 in_array() 搜尋多維數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!