Есть такой массив (он может быть неограниченной вложенности):
$b = array(
'0' => array(
'text' => 'фрукты',
'count' => '2',
'line' => '1',
'children' => array(
'0' => array(
'text' => 'банан',
'count' => '10',
'line' => '2',
'children' => '',
),
'1' => array(
'text' => 'груша',
'count' => '5',
'line' => '3',
'children' => array(
'0' => array(
'text' => 'дыня',
'count' => '1',
'line' => '5',
'children' => array(
'0' => array(
'text' => 'арбуз',
'count' => '1',
'line' => '5',
'children' => '',
)
)
)
)
)
)
)
);
А мне нужен такой:
Array
(
[0] => Array
(
[text] => банан
[count] => 10
[line] => 2
[children] =>
)
[1] => Array
(
[text] => дыня
[count] => 1
[line] => 5
[children] =>
)
[2] => Array
(
[text] => груша
[count] => 5
[line] => 3
[children] =>
)
[3] => Array
(
[text] => арбуз
[count] => 5
[line] => 3
[children] =>
)
[4] => Array
(
[text] => фрукты
[count] => 2
[line] => 1
[children] =>
)
)
В принципе не важно в какой последовательности расположены элементы(фрукты,арбуз,груша,дыня,банан) в массиве,а главное чтобы они все там были.
Дела. так:
function test($b) {
$a = array();
foreach ($b as $item) {
if ($item['children'] != '') {
$a += test($item['children']);
}
$item['children'] = '';
$a[] = $item;
}
return $a;
}
но в массиве $a не хватает элемента
(
[text] => арбуз
[count] => 5
[line] => 3
[children] =>
)
Что я делаю не так???????????