У меня есть несколько пар имя-родительское имя, что я хотел бы превратить в как можно меньше иерархических древовидных структур. Так, например, это могут быть пары:
Child : Parent
H : G
F : G
G : D
E : D
A : E
B : C
C : E
D : NULL
Который должен быть преобразован в (а) иерархическое дерево (ы):
D
├── E
│ ├── A
│ │ └── B
│ └── C
└── G
├── F
└── H
Конечный результат, который я хочу, представляет собой вложенный набор элементов <ul>
, причем каждый <li>
содержит дочернее имя.
В парах нет несоответствий (дочерний - это собственный родительский элемент, родитель - дочерний ребенок и т.д.), поэтому возможно создание нескольких оптимизаций.
Как в PHP я мог бы перейти от массива, содержащего дочерние = > родительские пары, к набору вложенных <ul>
s?
У меня такое чувство, что речь идет о рекурсии, но я недостаточно проснулся, чтобы продумать это.