Лучше всего по отдельности зацикливать массивы и суммировать значения в результирующий массив на ходу. Мы можем создать новый массив, содержащий два массива, чтобы немного сократить наш код (посмотрите, как мы определяем [$first, $second]
в качестве первого цикла).
Это устраняет любые проблемы со смешанной длиной и сохраняет все ключи и значения в массиве без изменений.
$result = [];
// Loop over our two arrays, here called $first and $second
foreach ([$first, $second] as $a) {
// Loop over the values in each array
foreach ($a as $k=>$v) {
// If the index is new to the $result array, define it to be zero (to avoid undefined index notices)
if (!isset($result[$k]))
$result[$k] = 0;
// Sum up the value!
$result[$k] += $v;
}
}
print_r($result);