I have an array like this
Array
(
[0] => Array
(
[id] => 1
[category_name] => One
[parent_id] =>
[children_recursive] => Array
(
)
)
[1] => Array
(
[id] => 2
[category_name] => Two
[parent_id] =>
[children_recursive] => Array
(
)
)
[2] => Array
(
[id] => 3
[category_name] => Three
[parent_id] =>
[children_recursive] => Array
(
[0] => Array
(
[id] => 17
[category_name] => Three and one
[parent_id] => 3
[children_recursive] => Array
(
)
)
[1] => Array
(
[id] => 19
[category_name] => Three and two
[parent_id] => 3
[children_recursive] => Array
(
[0] => Array
(
[id] => 21
[category_name] => Three and two and one
[parent_id] => 19
[children_recursive] => Array
(
)
)
)
)
[2] => Array
(
[id] => 20
[category_name] => Three and three
[parent_id] => 3
[children_recursive] => Array
(
)
)
)
)
[3] => Array
(
[id] => 4
[category_name] => Four
[parent_id] =>
[children_recursive] => Array
(
[0] => Array
(
[id] => 18
[category_name] => Four and one
[parent_id] => 4
[children_recursive] => Array
(
)
)
)
)
)
What I want to from this array
One
Two
Three
Three >> Three and one
Three >> Three and two
Three >> Three and two >> Three and two and one
Three >> Three and three
Four
Four >> Four and one
What I have tried
$category = myarray;
renderNode($category);
function renderNode($node) {
foreach($node as $cat){
echo $cat['category_name'].'<br >';
if(!empty($cat[children_recursive'])){
renderNode($cat[children_recursive']);
}
}
}
And My output is
One
Two
Three
Three and one
Three and two
Three and two and one
Three and three
Four
Four and one
Edit
here is the full array list using var_export
so you can just copay and paste
array (
0 =>
array (
'id' => 1,
'category_name' => 'One',
'parent_id' => NULL,
'children_recursive' =>
array (
),
),
1 =>
array (
'id' => 2,
'category_name' => 'Two',
'parent_id' => NULL,
'children_recursive' =>
array (
),
),
2 =>
array (
'id' => 3,
'category_name' => 'Three',
'parent_id' => NULL,
'children_recursive' =>
array (
0 =>
array (
'id' => 17,
'category_name' => 'Three and one',
'parent_id' => 3,
'children_recursive' =>
array (
),
),
1 =>
array (
'id' => 19,
'category_name' => 'Three and two',
'parent_id' => 3,
'children_recursive' =>
array (
0 =>
array (
'id' => 21,
'category_name' => 'Three and two and one',
'parent_id' => 19,
'children_recursive' =>
array (
),
),
),
),
2 =>
array (
'id' => 20,
'category_name' => 'Three and three',
'parent_id' => 3,
'children_recursive' =>
array (
),
),
),
),
3 =>
array (
'id' => 4,
'category_name' => 'Four',
'parent_id' => NULL,
'children_recursive' =>
array (
0 =>
array (
'id' => 18,
'category_name' => 'Four and one',
'parent_id' => 4,
'children_recursive' =>
array (
),
),
),
),
)