Как сделать древовидный список из массива php?

Есть обычный двумерный массив, результат sql запроса с полями: id, group_id, name.
id это идентификатор записи
group_id это родитель записи
name имя, вот пример таблицы sql
1
null
дневники
21
поликлиника 1
32
общие
43
дневник педиатр
53дневник лор
63дневник хирург
72доп дневники
82доп данные
91поликлиника 2
101поликлиника 3
1110
общие
1210
дневник педиатр


Из этой таблицы нужно сделать такой древовидный список
  • Дневники
    • Поликлинника 1
      • Общие
        • Дневник педиатр
        • Дневник лор
        • Дневник хирург

      • Доп дневники
      • Доп данные

    • Поликлинника 2
    • Поликлинника 3
      1. Общие
        1. Дневник педиатр
        2. Дневник лор
        3. Дневник хирург

      2. Доп дневники
      3. Доп данные



помогите с функцией
  • Вопрос задан
  • 1060 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
@Aoshi77
function getList($array, $parent_id="unset") {
	$list = "<ul>";
	foreach ($array as $key => $arr) {
		if( ($parent_id=="unset" and $arr[1]==null) OR $arr[1]==$parent_id ) {
			unset($array[$key]);
			$list.= "<li>";
			$list.= $arr[2].getList($array, $arr[0]);
			$list.= "</li>";
		}
	}
	$list.= "</ul>";
	return $list;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы