PHP - Как суммировать элементы из нескольких массивов с одинаковыми ключами - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть несколько массивов:

Array
(
    ['a'] => 5
    ['b'] => 5
    ['c'] => 5
)

Array
(
    ['a'] => 10
    ['b'] => 10
    ['c'] => 10
)

Array
(
    ['a'] => 15
    ['b'] => 15
    ['c'] => 15
)
...

Затем мне нужно суммировать элементы этих массивов, например ['a'] будет 5+10+15 ..

Тогда у меня есть массив, который имеет всю сумму этих массивов

Array
(
    ['a'] => 30
    ['b'] => 30
    ['c'] => 30
)

Несколько массивов взяты из БД, возможно ли суммировать все элементы массива во время цикла? Спасибо

1 Ответ

0 голосов
/ 18 апреля 2020

Вы можете сделать это с array_map() и array_sum(),

<?php
$a = array('a' => 5,'b' => 5,'c' => 5);
$b =array('a' => 10,'b' => 10,'c' => 10);
$c = array('a' => 15,'b' => 15,'c' => 15);
$d = array_map(function (...$arrays) {
    return array_sum($arrays);
}, $a, $b, $c);

print_r($d);
?>

DEMO: https://3v4l.org/pcURT

Если вы хотите сохранить ключи, попробуйте этот способ с помощью простых foreach(),

foreach (array_keys($a + $b + $c) as $k) {
    $d[$k] = $a[$k] + $b[$k] + $c[$k];
}
print_r($d);

DEMO: https://3v4l.org/IKKDK

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...