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

Имеется следующая структура каталога Магазина:

[
  {
    "id": 1,
    "name": "Машина",
    "idParent": null,
  },{
    "id": 2,
    "name": "Запчасти",
    "idParent": 1,
  },{
    "id": 3,
    "name": "Краска",
    "idParent": 1,
  },{
    "id": 4,
    "name": "Колеса",
    "idParent": 2,
  },{
    "id": 5,
    "name": "Шины",
    "idParent": 2,
  },{
    "id": 6,
    "name": "Зимние шины",
    "idParent": 5,
  },{
    "id": 7,
    "name": "Летние шины",
    "idParent": 5,
  },
]

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

Пытаюсь это вывести в формате многоуровневого <ul></ul>, но дальше этого кода никуда не ушел...

foreach ($data as $datum){
    if($datum->idParent == null){
        echo '</li><li class="dd-item dd3-item" data-id="'.$datum->id.'">
            <div class="dd-handle dd3-handle"></div>
            <div class="dd3-content">'.$datum->name.'</div>';
    }
}

Ответы (0 шт):