I持っ配列、私は、別の項目に子供-ノードを 『カット』私にこれらの配列を与えることによって、 『フラット化』したい'、「untree」再帰的な配列を平らにINGの
$arr = Array(
Array(
'title' => 'Title 1',
'id' => 1,
'parent' => 0,
'children' => [
Array(
'title' => 'Title 1.1',
'id' => 4,
'parent' => 1,
'children' => [
Array(
'title' => 'Title 1.1.1',
'id' => 19,
'parent' => 4
),
Array(
'title' => 'Title 1.1.2',
'id' => 123,
'parent' => 4
)
]
),
Array(
'title' => 'Title 1.2',
'id' => 4,
'parent' => 1,
'children' => [
Array(
'title' => 'Title 1.2.1',
'id' => 19,
'parent' => 4
)
]
)
]
),
Array(
'title' => 'Title 2',
'id' => 1,
'parent' => 0
)
);
1レベル配列のアイテム:
$arr = Array(
Array(
'title' => 'Title 1',
'id' => 1,
'parent' => 0
),
Array(
'title' => 'Title 1.1',
'id' => 4,
'parent' => 1
),
Array(
'title' => 'Title 1.1.1',
'id' => 19,
'parent' => 4
),
Array(
'title' => 'Title 1.1.2',
'id' => 123,
'parent' => 4
),
Array(
'title' => 'Title 1.2',
'id' => 4,
'parent' => 1
),
Array(
'title' => 'Title 1.2.1',
'id' => 19,
'parent' => 4
),
Array(
'title' => 'Title 2',
'id' => 1,
'parent' => 0
)
);
ここで誰かを助けることができますか?どうもありがとう!
関数traverseArray($配列、$ {($ value ['children'])){ foreach($ array as $ key =>&$ value){ if(isset($ value ['children'])){ return traverseArray($ value); } else { $ target [] = $ array; } } return $ target; } $ out = traverseArray($ arr); print_r($ out); これは繰り返しますが、パターンを残してしまいます。どのように構築されているのかは分かりません。 – chrney