Комментарии к статье:
Построение иерархического дерева. Рекурсивная функция.
Дата: 4 июля 2010
34756
12
-
Комментарии (12)
- Сайт
Нужно
if(is_array($cats) and count($cats[$parent_id])>0)
заменить на
if(is_array($cats) and isset($cats[$parent_id]))
тогда варнингов нет, т.к. к несуществующему элементу массива функция больше не обращается!!!
echo build_tree($cats,0);
вставить в тело страницы перед закрыванием php
:)
function build_tree($hs, $p_id) {
if (is_array($hs) and isset($hs[$p_id])) {
$tree = '';
foreach($hs[$p_id] as $item) {
if ($item['is_group'] == 1)
$tree .= '<option value="'.$item['id'].'">'.$item['title_int'];
else
$tree .= '<option value="'.$item['id'].'"> '.$item['title_int'];
$tree .= build_tree($hs, $item['id']);
$tree .= '</option>';
};
//$tree .= '</ul>';
}
else return null;
return $tree;
};
а как сделать чтобы дерево выводило в броузер?
тоесть как вывести даный скрипт в хтмл документе?
спасибо
Где $cats - подготовленный массив категорий. О том, как его сформировать, читайте в статье.