скажите кто знает как это можно сделать есть два запроса из mysql первый запрос заносит всё категории в 1 массив второй запрос заносить всех детей в 2 массив в итоге у меня есть 2 массива 1) array_categories 2) array_children первый массив (категории) PHP: Array // array_categories ( [0] => Array([id] => 1 [pid] => 0 [name] => Магазин) [1] => Array([id] => 2 [pid] => 1 [name] => Фрукты) [2] => Array([id] => 3 [pid] => 1 [name] => Хлеб) [3] => Array([id] => 4 [pid] => 2 [name] => Спелые) [4] => Array([id] => 5 [pid] => 3 [name] => Свежий) [5] => Array([id] => 6 [pid] => 4 [name] => Яблоко) [6] => Array([id] => 7 [pid] => 4 [name] => Груша) [7] => Array([id] => 8 [pid] => 4 [name] => Лимон) [8] => Array([id] => 9 [pid] => 5 [name] => Белый) [9] => Array([id] => 10 [pid] => 5 [name] => Чёрный) ) массив категорий (array_categories) выводит вот такое дерево - Магазин // pid 0 - - Фрукты // pid 1 - - - Спелые // pid 2 - - - - Яблоко // pid 4 - - - - Груша // pid 4 - - - - Лимон // pid 4 - - Хлеб // pid 1 - - - Свежий // pid 3 - - - - Белый // pid 5 - - - - Чёрный // pid 5 второй массив (откуда начинать построение дерева от детей к родителям - с низу в верх) PHP: Array // array_children ( [0] => Array([cid] => 6) // Яблоко [1] => Array([cid] => 7) // Груша [2] => Array([cid] => 8) // Лимон [3] => Array([cid] => 9) // Белый [4] => Array([cid] => 10) // Чёрный ) есть вот такой код PHP: Shop($array_categories, $array_children); function Shop($array_categories, $array_children) { foreach ($array_categories as $result_1) { foreach ($array_children as $result_2) { if ($result_1['cid'] == $result_2['id']) { echo $result_2['name'].'<br>'; } } } } выводит только так Яблоко Груша Лимон Белый Чёрный как нужно составить функцию чтобы дерево было таким - Магазин - - Фрукты - - - Спелые - - - - Яблоко - - - - Груша - - - - Лимон - - Хлеб - - - Свежий - - - - Белый - - - - Чёрный
ИМХО, задача изначально стоит неправильно. реализовать можно, но геммора очень много. вопрос - зачем это надо? не совсем понятен смысл задачи. и почему-бы не воспользоваться первым же массивом для построения того же дерева?
я ответил вот тут. это наверное одна и таже задача http://www.php.ru/forum/viewtopic.php?t ... highlight=
немножко не та задача по ссылке скрипт выводит всё дерево рекурсивно а у меня сложность в постарение дерева в обратном порядке то есть если стандартное дерево строится с верху в низ (от родителей к потомкам) то у меня не как не получается построить дерево в обратном порядке с низу в верх (от потомков к родителям)