【发布时间】:2016-08-22 20:26:49
【问题描述】:
我有一个多维嵌套数组:
$arr = array(
'name' => 'Root Node',
'children' => array(
array(
'name' => 'Node A',
'children' => array(
array(
'name' => 'Node A.1',
'children' => array(
array(
'name' => 'Node A.1.1',
'children' => ''
),
),
),
array(
'name' => 'Node A.2',
'children' => ''
),
),
),
array(
'name' => 'Node B',
'children' => array(
array(
'name' => 'Node B.1',
'children' => '',
),
array(
'name' => 'Node B.2',
'children' => ''
),
)
),
array(
'name' => 'Node C',
'children' => ''
)
),
);
目前这个数组最多有 4 个级别,但我们不能假设它的深度级别静态为 4,因为它也可能有 N 个级别。我的目标是将此数组转换为每个关系的单独行数组,例如:
$arr = array(
array( 'Root Node', 'Nodel A', 'Node A.1', 'Node A.1.1' ),
array( 'Root Node', 'Nodel A', 'Node A.2' ),
array( 'Root Node', 'Nodel B', 'Node B.1' ),
array( 'Root Node', 'Nodel B', 'Node B.2' ),
array( 'Root Node', 'Nodel C' ),
);
我知道递归函数应该可以解决问题,但我无法弄清楚,因为它并不像我一开始想的那么容易。任何帮助将不胜感激!
【问题讨论】:
-
你有没有尝试过?
-
使用 foreach 获取所有元素。在 foreach 里面把值放在桌子上
-
我尝试了 foreach 和递归函数来使其工作,但无法弄清楚
标签: php arrays multidimensional-array