在PHP 中展平多維數組
展平多維數組是編程中的常見任務,在不使用遞歸的情況下高效實現可能具有挑戰性或參考文獻。本文探討了一種基於 PHP 的解決方案,無需這些技術即可完成此任務。
問題: 在 PHP 中是否可以在不依賴遞歸或引用的情況下展平多維數組?
答案: 是的,PHP 提供了一種非遞歸方法來使用以下方法展平多維數組: array_walk_recursive() 函數。
展平數組:
在 PHP 5.3 中引入,array_walk_recursive() 迭代多維數組的每個元素,包括嵌套在子數組中的元素數組。以下範例示範如何使用此函數展平陣列:
function flatten(array $array) { $return = array(); array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; }); return $return; }
在此函數中,array_walk_recursive() 與匿名函數一起使用,該函數將每個元素新增至 $return 陣列。透過遞歸迭代數組,所有元素最終都會添加到展平的數組中,然後返回該數組。
這種方法非常高效,可以有效地展平多維數組,而不需要遞歸或引用。
以上是PHP 可以在沒有遞迴或引用的情況下展平多維數組嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!