Код (Text): CREATE TABLE `divs` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_parent` int(11) NOT NULL, `name` varchar(255) NOT NULL, `type` varchar(22) NOT NULL, `lang` int(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ; INSERT INTO `divs` (`id`, `id_parent`, `name`, `type`, `lang`) VALUES (1, 0, 'Главная', '1', 1), (3, 0, 'Новости', '2', 1), (4, 0, 'О компании', '1', 1), (5, 0, 'Клиенты', '1', 1), (6, 0, 'Контакты', '1', 1), (10, 4, 'История', '1', 1), (11, 4, 'Учредители', '1', 1), (24, 10, 'Начало', '1', 1), (25, 10, 'Середина', '1', 1), (26, 10, 'Конец', '1', 1); Необходимо сделать функцию, которая создает массив вида Код (Text): Array ( [0] => Array ( [id] => 1 [id_parent] => 0 [name] => Главная [type] => 1 [lang] => 1 ) [1] => Array ( [id] => 3 [id_parent] => 0 [name] => Новости [type] => 1 [lang] => 1 ) [2] => Array ( [id] => 4 [id_parent] => 0 [name] => О компании [type] => 1 [lang] => 1 [parent] => Array ( [0] => Array ( [id] => 10 [id_parent] => 4 [name] => История [type] => 1 [lang] => 1 [parent] => Array ( [0] => Array ( [id] => 24 [id_parent] => 10 [name] => Начало [type] => 1 [lang] => 1 ) [1] => Array ( [id] => 25 [id_parent] => 10 [name] => Середина [type] => 1 [lang] => 1 ) [2] => Array ( [id] => 26 [id_parent] => 10 [name] => Конец [type] => 1 [lang] => 1 ) ) ) [1] => Array ( [id] => 11 [id_parent] => 4 [name] => Учредители [type] => 1 [lang] => 1 ) ) ) [3] => Array ( [id] => 5 [id_parent] => 0 [name] => Контакты [type] => 1 [lang] => 1 ) ) Притом база может быть любого уровня вложенности. Помогите, не могу сделать...
Re: Помогите создать функцию наполнения сложного массива из Рекурсия, сын мой, помочь должна, я думаю.
Re: Помогите создать функцию наполнения сложного массива из Да не получается в рекурсии сделать массив такой вложенности, внимательно посмотрите вопрос! Нет в php обращения к динамическому уровню массива!
Re: Помогите создать функцию наполнения сложного массива из lecherg Почитай вот эту темку: viewtopic.php?f=13&t=38474&p=313678 . Там задача точь-в-точь, как у тебя, только начальные данные берутся не из базы, а просто из файла. Там в предпоследнем сообщении есть решение задачи. Есть два решения даже - и отображение меню с отступами в html и создание многомерного массива. Тебе, соответственно, второй код. Добавлено спустя 55 секунд: Re: Помогите создать функцию наполнения сложного массива из БД И да, это делается рекурсией.