Как рекурсией вывести многоуровневое меню из массива?

Есть массив такого вида.
Как рекурсивной функцией вывести многоуровневое меню? Пытался разобраться, но не понимаю как это реализовать.

$cat = [
    ['id' => 1, 'parentid' => 0, 'name' => 'programming languages'],
    ['id' => 3, 'parentid' => 1, 'name' => 'php'],
    ['id' => 4, 'parentid' => 1, 'name' => 'javascript'],
    ['id' => 7, 'parentid' => 4, 'name' => 'jquery'],
    ['id' => 8, 'parentid' => 1, 'name' => 'jqueryUI'],
    ['id' => 10, 'parentid' => 8, 'name' => 'datePicker'],
    ['id' => 11, 'parentid' => 10, 'name' => 'time'],
    ['id' => 12, 'parentid' => 10, 'name' => 'date'],
    ['id' => 13, 'parentid' => 1, 'name' => 'ruby'],
];
  • Вопрос задан
  • 1514 просмотров
Пригласить эксперта
Ответы на вопрос 3
@feldwebel
Эта структура называется adjacency list. Со всех сторон разобрана в гугле.
Ответ написан
Комментировать
index0h
@index0h
PHP, Golang. https://github.com/index0h
Поисковая фраза для гугла: "php recursive menu"
Ответ написан
Комментировать
@dev400
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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