Given the array below, how can I create a sum array with matching keys?
$arr = [
['alpha', 1, 2, 3, 4, 5],
['beta', 1, 2, 3, 4, 5],
['gamma', 1, 2, 3, 4, 5],
['delta', 1, 2, 3, 4, 5]
];
This is what I eventually want:
['', 4, 8, 12, 16, 20]
Is this the most efficient way?
function getArrTotals($arr) {
$arrTotal = array();
foreach ($arr as $subArr) {
foreach ($subArr as $k => $v) {
if (is_numeric($v)) {
if (!array_key_exists($k,$arrTotal)) {
$arrTotal[$k] = 0;
}
$arrTotal[$k] = $arrTotal[$k] + $v;
} else {
if (!array_key_exists($k,$arrTotal)) {
$arrTotal[$k] = '';
}
}
}
}
return $arrTotal;
}