Задать вопрос
@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'];
]
  • Вопрос задан
  • 75 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F
foreach ($array as [ 'id' => $id, 'taste' => $taste ]) {
  $result[$id][$taste] = 1 + ($result[$id][$taste] ?? 0);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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