[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Собрать массив в рекурсионной функции
Kusss
Есть "стандартное" дерево разделов
Массив с меню (отдельно), вот такой
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;
}
Тут нет моего решения, так как я потратил много времени и все оказалось в пустую.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.