Подскажите, пожалуйста, как решить задачу, никак не выходит рекурсия:
Есть дерево вложенности:
- Овощи
- картошка
- топинамбур
- капуста
- молодая
- старая
- буряк
- свежий
- Фрукты
- бананы
- яблоки
- груши
- ягоды
- арбуз
- малина
- по дешевле
- по дороже
Вложенность представлена массивом, все дочерние элементы элемента находятся в ['items'].
Задача такая, нужно собрать массив, который сделает эту бесконечную вложенность по линиям, то есть:
[0] - 1 линия
[0] Овощи
[1] Фрукты
[2] ягоды
[1] - 2 линия
[0] - картошка
[1] - капуста
[2] - буряк
[3] - бананы
[4] - яблоки
[5] - груши
[6] - арбуз
[7] - малина
[2] - 3 линия
[0] топинамбур
[1] молодая
[2] старая
[3] свежий
[4] по дешевле
[5] по дороже
Моя наработка:
function getStructToLine($getStruct, $tree = true)
{
$result = array();
if($getStruct && is_array($getStruct))
{
foreach($getStruct as $line => $user)
{
if($tree)
$result[$line][] = $user['user_id'];
else
$result[$line] = $user['user_id'];
if(isset($user['items']))
{
$child = $this->getStructToLine($user['items'], false);
$result[$line][] = $child;
}
}
}
return $result;
}
Выбивает ошибку, хотя не понимаю почему.