Задать вопрос

Как рекурсивно подсчитать количество подкатегорий и вывести значение?

Строю дерево категорий и появилась задача вывести не только сами подкатегории, но и их количество, но как это сделать не могу сообразить.
Глубина вхождения заранее не известна. Собственно вот код для наглядности. Из базы вытягиваем 3 значения id, name, cat_id, где cat_id это id родителя.
function build_tree($cats,$parent_id,$only_parent = false){
    if(is_array($cats) and isset($cats[$parent_id])){
        $tree = '<ul>';
        if($only_parent==false){
            foreach($cats[$parent_id] as $cat){
                $tree .= '<li>'.$cat['name'].' #'.$cat['id'];
                $tree .=  build_tree($cats,$cat['id']);
                $tree .= '</li>';
            }
        }elseif(is_numeric($only_parent)){
            $cat = $cats[$parent_id][$only_parent];
            $tree .= '<li>'.$cat['name'].' #'.$cat['id'];
            $tree .=  build_tree($cats,$cat['id']);
            $tree .= '</li>';
        }
        $tree .= '</ul>';
    }
    else return null;
    return $tree;
}
if   (mysql_num_rows($result12) > 0){
    $cats = array();
    while($cat =  mysql_fetch_assoc($result12)){
        $cats_ID[$cat['id']][] = $cat;
        $cats[$cat['cat_id']][$cat['id']] =  $cat;
		
    }
}
echo build_tree($cats, 0);
  • Вопрос задан
  • 213 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
DevMan
@DevMan
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽