@DeniSidorenko

Как отсортировать такой массив?

Привет есть массив данных, который содержит объекты. Массив категории. Массив получает все категории без иерархии.

Каждый объект имеет свойство parent.
Всего массив имеет 10 пунктов, у двоих из них свойство parent = 0, потому что это категории верхнего уровня. Остальные 6 разделяются по 3 для каждого Category Parent и свойство parent для них равняется иду родителя.

И есть такая структура
<ul>
  <li></li>
  <li></li>
  <li></li>
</ul>
<ul>
  <li></li>
  <li></li>
  <li></li>
</ul>


Как сделать что бы в цикле создавалось ul а в li выводились name для каждого пункта. И если будет еще один родителя верхнего уровня создать еще один ul и туда поместить названия субкатегории
  • Вопрос задан
  • 89 просмотров
Решения вопроса 1
Ninazu
@Ninazu
Если уровней вложенности только два. То можно и без рекурсии

$categories = [];

foreach($list as $row){
    if ($row['parent_id'] == 0) {
        continue;
    }

    $categories[$row['parent_id']][] = $row['name'];
}

foreach($categories as $names){  
     echo "<ul>";
     foreach($names as $name){
              echo "<li>{$name}</li>";
     }
     echo "</ul>";
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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