-3

Consider the following arrays:

Array 1 with contents:

index1    value2
a         5
b         6
c         2

And Array 2 with contents:

index2   value2
a         4
b         2

i need an Array 3 which should be the sum of the above 2 arrays. Something like:

index     value
a           9
b           8
c           2
Ravi
  • 57
  • 7

2 Answers2

1

This function will be what you need:

function array_merge_with_sum_values(array $array1, array $array2){
        $finalArray = array_merge($array1, $array2);
        $keys = array_keys($finalArray);
        foreach($keys as $key){
            if(isset($array1[$key]) && isset($array2[$key])){
                $finalArray[$key] = $array1[$key] + $array2[$key];
            }
        }
        return $finalArray;
    }
Lukas Jahoda
  • 208
  • 1
  • 9
0

maybe this helps you:

$array_first = ['a'=>5,'b'=>6,'c'=>2];
$array_second = ['a'=>4,'b'=>2];
function sum_array($array_first,$array_second){
$array_result = [];
foreach ($array_first as $key => $value) {
    if(isset($array_second[$key])){
        $array_result[$key] = $array_second[$key] + $array_first[$key];
    }else{
        $array_result[$key] = $array_first[$key];
    }
}
return $array_result;}
var_dump(sum_array($array_first,$array_second));

Result :

 array(3) {
  ["a"]=>
  int(9)
  ["b"]=>
  int(8)
  ["c"]=>
  int(2)
}
Amirabbas asadi
  • 182
  • 1
  • 1
  • 7