PHP 2d массив - родители и дети - PullRequest
0 голосов
/ 25 июня 2019

Как показать отношения родитель-потомок в древовидной иерархии PHP с помощью 2d-массива?

output (Parent 01 является корневым родителем) (Root parent 0 имеет дочерний 01 и child 02, дочерний 01 имеетребенок 005, ребенок 005 есть ребенок 0007.)

Parent 01
    Child 01
    Child 02
Parent 02
    Child 04
     Child 005
Parent 03
    child 06
     child 0007
      Child 00008

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Ну, вы можете использовать списки смежности для хранения древовидной структуры.Список Смежности может быть сохранен в двумерном массиве.

Ключом массива будет идентификатор родительского узла.Например, «Parent 01», «Parent 02», «Parent 03» и т. Д. Значением будет массив, содержащий список идентификаторов дочерних узлов.Например: «Ребенок 01», «Ребенок 02», «Ребенок 03» и т. Д.

0 голосов
/ 25 июня 2019

Трудно представить древовидную структуру в двумерном массиве, но двоичное дерево выполнимо в одномерном массиве.Смотрите ссылку ниже для примера.

https://www.geeksforgeeks.org/binary-tree-array-implementation/

Кроме того, PHP не имеет ограничений (вне ограничений памяти) на число измерений, которые может иметь массив, поэтому почему бы не использовать массив n-размерности для представления вашего дерева

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...