deadloop
@deadloop
Активно осваиваю PHP

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

Есть массив с данными:

$tree = [
        0 => [
            ['id' => 1, 'title' => 'Russia', 'type' => 'country', 'parent_id' => 0],
            ['id' => 2, 'title' => 'Usa', 'type' => 'country', 'parent_id' => 0],
        ],
        1 => [
            ['id' => 3, 'title' => 'Khakassia', 'type' => 'region', 'parent_id' => 1],
            ['id' => 4, 'title' => 'krasnoyarsk krai', 'type' => 'region', 'parent_id' => 1],
            ['id' => 5, 'title' => 'Texas', 'type' => 'region', 'parent_id' => 2],
            ['id' => 6, 'title' => 'California', 'type' => 'region', 'parent_id' => 2],
        ],
        2 => [
            ['id' => 7, 'title' => 'Abakan', 'type' => 'region', 'parent_id' => 3],
            ['id' => 8, 'title' => 'Abaza', 'type' => 'region', 'parent_id' => 3],
            ['id' => 9, 'title' => 'Krasnoyarsk', 'type' => 'region', 'parent_id' => 4],
            ['id' => 10, 'title' => 'Norilsk', 'type' => 'region', 'parent_id' => 4],
            ['id' => 11, 'title' => 'Dallas', 'type' => 'region', 'parent_id' => 5],
            ['id' => 12, 'title' => 'Houston', 'type' => 'region', 'parent_id' => 5],
            ['id' => 13, 'title' => 'Los Angeles', 'type' => 'region', 'parent_id' => 6],
            ['id' => 14, 'title' => 'Sacramento', 'type' => 'region', 'parent_id' => 6],
        ],
    ];


Не могу сообразить как правильно поострить дерево рекурсивно. И еще могу добавляться элементы и вложенности.
Russia
        - Khakassia
            - Abakan
            - Abaza
        - Krasnoyarsk krai
            - Krasnoyarsk
            - Norilsk
...
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы