Массив с меню (отдельно), вот такой
Array
(
[7] => Array
(
[14] => Array
(
[id] => 9
[menu_id] => 14
[hide] => 0
[cat_id] => 7
)
[15] => Array
(
[id] => 10
[menu_id] => 15
[hide] => 0
[cat_id] => 7
)
)
[9] => Array
(
[16] => Array
(
[id] => 11
[menu_id] => 16
[hide] => 0
[cat_id] => 9
)
[17] => Array
(
[id] => 12
[menu_id] => 17
[hide] => 0
[cat_id] => 9
)
)
[10] => Array
(
[18] => Array
(
[id] => 13
[menu_id] => 18
[hide] => 0
[cat_id] => 10
)
)
)
Нужно собрать новое дерево (или заполнить текущее) с этими отдельными менюшками.
вот функция перебора моего дерева массива
private function build_tree($array = []) {Тут нет моего решения, так как я потратил много времени и все оказалось в пустую.
// $this->dish_array - массив с меню
// $this->data_menu_array - дерево разделов
if (!count($array)) {
$array = $this->data_menu_array;
$new_tree = [];
}
// разделы меню
foreach ($array AS $key=>$value){
// Если это подраздел
if (isset($value['childs'])) {
$this->build_tree($value['childs']);
} else {
// Проверить есть ли меню
if (is_array( $this->dish_array[$key] )) {
// Наше меню из этого раздела
foreach ($this->dish_array[$key] AS $id=>$val){
// тут выбираем название и другую инфу
}
}
}
}
return $new_tree;
}