Всем привет! есть массив следующего вида: PHP: $m = [ 0 => [ 'name' => 'гороховый', 'category' => 'суп', 'counts' => 1 ], 1 => [ 'name' => 'ножки', 'category' => 'горячее', 'counts' => 2 ], 2 => [ 'name' => 'ножки', 'category' => 'горячее', 'counts' => 3 ], 3 => [ 'name' => 'сок', 'category' => 'напиток', 'counts' => 2 ], 4 => [ 'name' => 'картошка', 'category' => 'гарнир', 'counts' => 4 ] ]; Хочу вывести так: HTML: Суп гороховый - 1шт. Горячее ножки - 5шт. Напиток сок - 2шт. Гарнир картошка - 4шт. Подскажите, как правильно пробежаться по массиву находя дубли еды и складывая количество одинаковых блюд? Пробовал через in_array проверять, но дальше логику не пойму, как убирать лишнее
Наверняка твой массив взялся из БД. Нехорошо перекладывать обработку множеств с SQL на PHP. Код (Text): SELECT `category`, `name`, SUM(`counts`) AS `counts` FROM `mytable` GROUP BY `category`, `name` --- Добавлено --- Как побочный эффект, результат будет отсортирован по категории+блюду. Это можно использовать при выводе, чтобы выделять "группы". Псевдокод PHP: $category = null; while (трам-пам-пам) { if ($category !== $row['category']) { $category = $row['category']; echo '<h2>'.$category.'</h2>'; } . . . тыц-тыц-тыц-тыры . . . }