PHP中的数组求和?

PHP中的数组求和?,php,arrays,sum,Php,Arrays,Sum,设想以下两个阵列: $array1 = array('dogs' => 3, 'cats' => 5); $array2 = array('dogs' => 2, 'cats' => 7); 是否有原生PHP5.5函数或任何最佳解决方案可以获得以下结果 $result = array('dogs' => 5, 'cats' => 12); 我认为您最好为多维和编写自己的解决方案: <?php function sumEach($original,

设想以下两个阵列:

$array1 = array('dogs' => 3, 'cats' => 5);
$array2 = array('dogs' => 2, 'cats' => 7);
是否有原生PHP5.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);

?>

这里有一个演示:

我认为您最好编写自己的多维和的解决方案:

<?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);

?>

这里有一个演示:

我认为您最好编写自己的多维和的解决方案:

<?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);

?>

这里有一个演示:

我认为您最好编写自己的多维和的解决方案:

<?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);

?>

这里有一个演示:

答案是肯定的。但是您必须为此编写一个自定义函数。约拿回答得很好

对于关联数组:

$sum = array_combine(array_keys($array1), array_map('bcadd', $array1, $array2));

bcadd
允许您避免创建自己的加法函数)

答案是肯定的。但是您必须为此编写一个自定义函数。约拿回答得很好

对于关联数组:

$sum = array_combine(array_keys($array1), array_map('bcadd', $array1, $array2));

bcadd
允许您避免创建自己的加法函数)

答案是肯定的。但是您必须为此编写一个自定义函数。约拿回答得很好

对于关联数组:

$sum = array_combine(array_keys($array1), array_map('bcadd', $array1, $array2));

bcadd
允许您避免创建自己的加法函数)

答案是肯定的。但是您必须为此编写一个自定义函数。约拿回答得很好

对于关联数组:

$sum = array_combine(array_keys($array1), array_map('bcadd', $array1, $array2));

bcadd
允许您避免创建自己的添加功能)

$array1['dogs']+$array2['dogs']
$array1['dogs']+$array2['dogs']
$array1['dogs']+$array2['dogs']
我使用了该引用,并转发到了实际链接。我使用了该引用,也转发到实际链接。我使用了引用,也转发到了实际链接。我使用了引用,也转发到了实际链接。