試想以下兩個數組:在PHP中求和數組?
$array1 = array('dogs' => 3, 'cats' => 5);
$array2 = array('dogs' => 2, 'cats' => 7);
是否有一個本地的PHP 5.5功能,或任何最優解得到以下結果呢?
$result = array('dogs' => 5, 'cats' => 12);
試想以下兩個數組:在PHP中求和數組?
$array1 = array('dogs' => 3, 'cats' => 5);
$array2 = array('dogs' => 2, 'cats' => 7);
是否有一個本地的PHP 5.5功能,或任何最優解得到以下結果呢?
$result = array('dogs' => 5, 'cats' => 12);
我想你最好寫一個多維的款項自己的解決方案:
<?php
function sumEach($original, $array) {
foreach($array as $key => $value) {
if(!array_key_exists($key, $original))
$original[$key] = $value;
else
$original[$key] += $value;
}
return $original;
}
$totals = array();
$totals = sumEach($totals, $array1);
$totals = sumEach($totals, $array2);
?>
然後從$totals
您的輸出如下:
Array(
'dogs' => 5,
'cats' => 12
);
這裏有一個演示: https://eval.in/73948
答案是肯定的。但是你必須爲此寫一個自定義函數。約拿給出了一個很好的答案。
Here is a solution for numeric arrays.
關聯數組:
$sum = array_combine(array_keys($array1), array_map('bcadd', $array1, $array2));
(bcadd
可以讓你避免創建自己的新增功能)
'$數組1 [ '狗'] + $數組2 [ '狗'] ' –