我有一个这样的数组
$sales = array('FIRST'=>array('RED'=>array(9,3),'GREEN'=>array(4,5,8,2)),
'SECOND'=>array('RED'=>array(3,5,5,2),'YELLOW'=>array(4,2,5)),
'THIRD'=>array('BLUE'=>array(1,2,4),'RED'=>array(9,4,6)),
'FOUR'=>array('BLUE'=>array(2,3,3,5),'BLACK'=>array(4,5,8,9)));
而且我必须找到数组中每种颜色的总销售额。
结果数组应该是这样的
Array('RED'=>46,'GREEN'=>19, ...)
最佳答案
这是使用 array_walk
、key_exists
和 array_sum
函数的简短解决方案:
$total = [];
array_walk($sales, function($v) use(&$total){
foreach ($v as $k => $arr) {
$total[$k] = (key_exists($k, $total))? $total[$k] + array_sum($arr) : array_sum($arr);
}
});
print_r($total);
输出:
Array
(
[RED] => 46
[GREEN] => 19
[YELLOW] => 11
[BLUE] => 20
[BLACK] => 26
)
关于php - 如何找到关联数组的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37583876/