我有以下阵列:PHP递归 - 在一个层面上显示孩子阵列
$example = array(
array(
'id' => 63,
'parentid' => 0,
'char_value' => 'End poverty in all its forms everywhere',
'param_value' => 1,
'children' => array(
array(
'id' => 84,
'parentid' => 63,
'char_value' => 'test 1',
'param_value' => 1
),
array(
'id' => 85,
'parentid' => 63,
'char_value' => 'test 2',
'param_value' => 1
)
)
));
而下面的函数的递归:
function drawPropertyTree($array, $parent){
$result = array();
foreach ($array as $k => $v) {
$pieces = explode(" ", $v['char_value'], 6);
$name = implode(" ", array_splice($pieces, 0, 3));
$result[] = array(
'id' => $v['id'],
'parent' => $parent,
'text' => $v['param_value'] . " " . $name
);
if (isset($v['children'])) {
$result[] = drawPropertyTree($v['children'], $v['id']);
}
}
return $result;}
我想列出所有子 - 与父节点相同的级别。这里是working sample,这是电流输出:
Array
(
[0] => Array
(
[id] => 63
[parent] => 0
[text] => 1 End poverty in
)
[1] => Array
(
[0] => Array
(
[id] => 84
[parent] => 63
[text] => 1 test 1
)
[1] => Array
(
[id] => 85
[parent] => 63
[text] => 1 test 2
)
)
)
这是期望的结果:
Array (
[0] => Array
(
[id] => 63
[parent] => 0
[text] => 1 End poverty in
)
[1] => Array
(
[id] => 84
[parent] => 63
[text] => 1 test 1
)
[2] => Array
(
[id] => 85
[parent] => 63
[text] => 1 test 2
)
Doh ...在这上面花了一个小时......谢谢! –