【发布时间】:2014-03-28 14:27:27
【问题描述】:
我在层次结构上有以下数组 - 它基本上是一个数组,在“子”键下包含类别及其子项:
Array
(
[category_id] => 1
[parent_id] => 0
[name] => Commercial
[child] => Array
(
[0] => Array
(
[category_id] => 48
[parent_id] => 1
[name] => lights
[child] => Array
(
)
)
[1] => Array
(
[category_id] => 12
[parent_id] => 1
[name] => beacons
[child] => Array
(
[0] => Array
(
[category_id] => 91
[parent_id] => 12
[name] => blue beacons
[child] => Array
(
)
)
)
)
)
)
我想要做的是编写一个递归函数来将此数组重组为一个单层数组。我不想将其子项放在“child”键中,而是希望它成为数组根级别的一部分。像这样:
[0] => Array
(
[category_id] => 1
[parent_id] => 0
[name] => Commercial
)
[1] => Array
(
[category_id] => 48
[parent_id] => 1
[name] => lights
)
[2] => Array
(
[category_id] => 12
[parent_id] => 1
[name] => beacons
)
[3] => Array
(
[category_id] => 91
[parent_id] => 12
[name] => blue beacons
)
有什么想法吗?
谢谢!
【问题讨论】:
-
实际上很多。为什么不编写一个重新组织数组的递归函数呢?不过说真的,我们不会为您编写代码。当你 pass the result array by reference 到函数时,你可以一个接一个地添加所有元素,例如。
标签: php arrays recursion tree hierarchy