Построить дерево с ветвями в php

У меня переменная $ Categories возвращает следующие данные JSON. Я хотел бы построить дерево-> ветви в Php из этой переменной. Любая идея?

+ Общественный
- Электроника
.....- компьютер
........ + iPad-планшеты
..... + огни
..... + Домашняя заявка
+ Спорт

{
"categories": [
    {
        "ID": 0,
        "Name": "Public",
        "Parent": 0,
        "created": null,
        "modified": "2017-03-13T15:16:58+00:00"
    },
    {
        "ID": 4,
        "Name": "Electronics",
        "Parent": 0,
        "created": "2017-03-13T15:18:21+00:00",
        "modified": "2017-03-13T15:18:21+00:00"
    },
    {
        "ID": 5,
        "Name": "Computer",
        "Parent": 4,
        "created": "2017-03-13T15:18:34+00:00",
        "modified": "2017-03-13T15:18:34+00:00"
    },
    {
        "ID": 12,
        "Name": "iPad-Tablets",
        "Parent": 5,
        "created": "2017-05-15T13:55:38+00:00",
        "modified": "2017-05-15T13:55:38+00:00"
    }
]
}

1 ответ

Это решение работает для моей проблемы. Спасибо @DanMiller

function generatePageTree($datas, $parent = 0, $depth=0){               
    if($depth > 100) return ''; //Make sure not to have an endless recursion
    $tree = '<ul>';
    for($i=0, $ni=count($datas); $i < $ni; $i++){
        if($datas[$i]->Parent == $parent){
            $tree .= '<li>';
            $tree .= $datas[$i]->Name;
            $tree .= generatePageTree($datas, $datas[$i]->ID, $depth+1);
            $tree .= '</li>';
        }
    }
    $tree .= '</ul>';
    return $tree; 
}
$tree=generatePageTree($categoriesOptions);
echo $tree;
Другие вопросы по тегам