Как суммировать элементы массива PHP

79
23 ноября 2021, 17:30

Как суммировать элементы массива таким образом

`Collection {#263 ▼
  #items: array:3 [▼
    0 => {#275 ▼
      +"platform": "Google"
      +"positive": "10"
      +"negative": "5"
      +"blocked": "1"
    }
    1 => {#274 ▼
      +"platform": "Yandex"
      +"positive": "6"
      +"negative": "2"
      +"blocked": "1"
    }
    2 => {#269 ▼
      +"platform": "Google"
      +"positive": "15"
      +"negative": "35"
      +"blocked": "23"
    }
  ]
}`

что бы получить

`Collection {#263 ▼
  #items: array:3 [▼
    0 => {#274 ▼
      +"platform": "Yandex"
      +"positive": "6"
      +"negative": "2"
      +"blocked": "1"
    }
    1 => {#269 ▼
      +"platform": "Google"
      +"positive": "25"
      +"negative": "40"
      +"blocked": "24"
    }
  ]
}`
Answer 1
$result = array_values(array_reduce($array, function($carry, $item) {
    foreach($item as $k => $v) {
        if (isset($carry[$item['platform']][$k])) {
            if (is_numeric($v)) $carry[$item['platform']][$k] += $v;
        }
        else $carry[$item['platform']][$k] = $v;
    }
    return $carry;
}, []));
print_r($result);

https://3v4l.org/ZJu8B

READ ALSO
php генерация qrcode с кирилицей

php генерация qrcode с кирилицей

Генерирую qr с помощью либы phpqrcodeСохраняю в файл

165
Бот VK API. Не реагирует на сообщения

Бот VK API. Не реагирует на сообщения

Хочу перейти на последнюю версию VK API (5103), но бот не реагирует на сообщения, узнал, что в этой версии надо добавлять объект client_info, но как это...

155
Yii2, как очистить кэш(disk cache)

Yii2, как очистить кэш(disk cache)

Я заливаю обновления стилей и JS на production, очищаю папки frontend/web/assets и frontend/runtime/cache, очищаю кэш который на сервере, убираю кэш через консоль php yii cache/flush-all,...

96
В DiDOM не получается получить данные

В DiDOM не получается получить данные

Не получается спарсить ссылку на изображение или просто получить доступ к img или даже к figure Находит только пустые пробелыВ дочерних элементах...

93