Initially, I have this array:

Array ( [0] => WP_Post Object ([ID] => 48 [content] => Товар1 [namecat] => Категория 1 ) [1] => WP_Post Object ([ID] => 49 [content] => Товар1 [namecat] => Категория 2 ) [2] => WP_Post Object ([ID] => 50 [content] => Товар2 [namecat] => Категория 1 ) [3] => WP_Post Object ([ID] => 51 [content] => Товар2 [namecat] => Категория 2 ) ) 

In the end, I need to display a list of categories and products of the type:

 *Категория 1 -> Товар1 -> Товар2 *Категория 2 -> Товар1 -> Товар2 

How to correctly sort through an array to get the necessary output?

    1 answer 1

     $newArr = []; //Создаём массив нужного вида из имеющегося: foreach ($array as $element){ $newArr[$element->namecat][] = $element->content; } //Выводим массим foreach ($newArr as $name => $cat) { echo '*' . $name . '<br>'; foreach($cat as $goods) { echo '-> ' . $goods . '<br>'; } }