in_array() 函數是檢查數組中是否存在某個值的便利工具。然而,它的用處僅適用於一維數組。處理多維數組時,需要不同的方法。
要確定多維數組中是否存在某個值,可以使用遞迴函數。以下是此類函數的範例:
def in_array_r(needle, haystack, strict = False): for item in haystack: if ((strict ? item === needle : item == needle) or (is_array(item) && in_array_r(needle, item, strict))) { return True } return False
該函數採用三個參數:要搜尋的針、要在其中搜尋的乾草堆以及一個可選的嚴格標誌,用於指定是否嚴格比較值(即,類型和值)。
要使用遞歸函數,只需用所需的指標呼叫它並haystack:
$b = array(array("Mac", "NT"), array("Irix", "Linux")); echo in_array_r("Irix", $b) ? 'found' : 'not found';
這將輸出'found',表示多維數組$ b 中存在「Irix」。
而遞歸函數是一個通用的解決方案,還有其他方法來檢查多維值arrays:
最終,最佳方法取決於應用程式的特定要求。如果考慮速度,遞歸函數可能是合適的選擇。否則,替代方法可以提供更簡單或更強大的解決方案。
以上是如何在 PHP 中有效率地搜尋多維數組中的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!