I次の配列があります。PHP再帰 - 1つのレベルで表示子アレイ
$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 ...これで1時間を過ごした...ありがとう! –