@twohundrediq

Как получить количество одинаковых элементов по двум параметрам?

Добрый вечер.
У меня есть многомерный массив, который может содержать одинаковые элементы
$array = [
    ['id' => '1', 'taste' => 'lime'],
    ['id' => '1', 'taste' => 'lime'],
    ['id' => '1', 'taste' => 'orange'],
    ['id' => '1', 'taste' => 'orange'],
    ['id' => '2', 'taste' => 'apple'],
];


Как привести его к такому виду? Чтобы в результате были id без повтора, и у каждого id был подмассив с наименованиями вкусов и их количеством, то есть примерно такой результат.
$result = [
    '1' => ['lime' => '2', 'orange' => '2'];
    '2' => ['apple' => '1'];
]
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
0xD34F
@0xD34F
foreach ($array as [ 'id' => $id, 'taste' => $taste ]) {
  $result[$id][$taste] = 1 + ($result[$id][$taste] ?? 0);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы