Возможный дубликат:
PHP: как суммировать значения массива одного и того же ключа
Я ищу функцию array_merge()
, которая НЕ заменяет значения, а ADDS их.
Пример: это код, который я пытаюсь сделать:
echo "<pre>";
$a1 = array(
"a" => 2
,"b" => 0
,"c" => 5
);
$a2 = array(
"a" => 3
,"b" => 9
,"c" => 7
,"d" => 10
);
$a3 = array_merge($a1, $a2);
print_r($a3);
К сожалению, это выводит это:
Array
(
[a] => 3
[b] => 9
[c] => 7
[d] => 10
)
Затем я попытался вместо array_merge
просто добавить два массива
$a3 = $a1 + $a2;
Но это выводит
Array
(
[a] => 2
[b] => 0
[c] => 5
[d] => 10
)
Я действительно хочу, чтобы иметь возможность передавать столько массивов по мере необходимости, а затем получать их сумму. Поэтому в моем примере я хочу, чтобы результат был следующим:
Array
(
[a] => 5
[b] => 9
[c] => 12
[d] => 10
)
Конечно, я могу schlepp и построить некоторую функцию со многими foreach
и т.д., но я смотрю или умнее, чище. Спасибо за любые указатели!