Я пытаюсь преобразовать плоский массив во вложенный массив в зависимости от данных 'level' каждого элемента массива. Данные 'level' показывают нам, является ли текущий элемент массива дочерним, родительским или родным.
Вот плоский массив:
$flatArray = array(
array('title'=>'Page 1', 'level'=>0),
array('title'=>'Page 2', 'level'=>0),
array('title'=>'Page 3', 'level'=>1),
array('title'=>'Page 4', 'level'=>1),
array('title'=>'Page 5', 'level'=>2),
array('title'=>'Page 6', 'level'=>0),
array('title'=>'Page 7', 'level'=>1),
array('title'=>'Page 8', 'level'=>0)
);
А вот и ожидаемый результат:
$nestedArray = array(
array('title'=>'Page 1', 'children'=>array()),
array('title'=>'Page 2', 'children'=>array(
array('title'=>'Page 3', 'children'=>array()),
array('title'=>'Page 4', 'children'=>array(
array('title'=>'Page 5', 'children'=>array())
)),
)),
array('title'=>'Page 6', 'children'=>array(
array('title'=>'Page 7', 'children'=>array())
)),
array('title'=>'Page 8', 'children'=>array()),
);
Я пытался использовать ссылки с индексами массива, но это не сработало.