给定下面的数组,如何创建具有匹配键的 sum 数组?
$arr = array(
array('alpha',1,2,3,4,5),
array('beta',1,2,3,4,5),
array('gamma',1,2,3,4,5),
array('delta',1,2,3,4,5)
);
这就是我最终想要的:
array('',4,8,12,16,20);
这是最有效的方法吗?
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;
}