Here is a quick function I created to merge multiple arrays and sum or concatenate the values thereof. If the values are numeric they will be added together (sum). Otherwise the values will be appended to each other (concatenation).
function arrayMergedSumConcat() { $out = array(); $num_args = func_num_args(); $arg_list = func_get_args(); for ($i = 0; $i < $num_args; $i++) { $in = $arg_list[$i]; foreach ($in as $key => $value) { if (isset($out[$key])) { if (is_numeric($in[$key]) && is_numeric($out[$key])) { $out[$key] += $in[$key]; } else { $out[$key] .= $in[$key]; } } else { $out[$key] = $in[$key]; } } } return $out; }