0
简化问题:拥有一个拥有公司的boss和subaltern的数组,这个数组对于某些分支具有可变的深度。n维数组 - 返回值
EX:
Array (
[boss] => Array (
[id] => boss
[pid] => root
[sub] => Array (
[user1] => Array (
[id] => user1
[pid] => boss
[sub] => Array (
[user1_1] => Array (
[id] => user1_1
[pid] => user1
)
)
[user2] => Array (
[id] => user2
[pid] => boss
[sub] => Array (
[user2_1] => Array (
[id] => user2_1
[pid] => user2
)
[user2_2] => Array (
[id] => user2_2
[pid] => user2
)
)
)
)
)
)
问题:什么是解析阵列的每个分支(动态深度),以便提取/从阵列中搜索一些数据最优雅的方式。
是递归函数唯一的方法吗?
我也检查array_walk_recursive()
,但我猜它不能返回值,它只能修改数组值或键(当使用引用时)。
编辑:
我要找的提取:收集特定用户所有的老板,这意味着直接的老板,也是老板的老板......等等。
你想要什么样的提取来实现? –
@maxime请参阅编辑 – ihtus
可以'[sub]'包含多个元素吗?如'[sub] => Array([userX] => ...,[userY] => ...)'? – Razvan