php - 如何找到关联数组的总和

标签 php arrays associative-array

我有一个这样的数组

$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_walkkey_existsarray_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/

相关文章:

php - 在 If 语句后添加 php 代码

php - 如何设置 php 代码以将 ssl 与 https 连接一起使用

php - Woocommerce - 从错误消息中删除 'Billing' 字

arrays - 有没有办法在 BASH 中使用 for 循环遍历多个数组

c++ - const 限定符和数组

javascript - 如何在 javascript 中循环遍历 JSON 关联数组?

php - 如何在 PHP 中调用 super?

objective-c - Objective-C获取数组元素?

php - 当键未知时如何找到关联数组的第一个/第二个元素?

hashtable - 使用哈希作为桶索引,模与位掩码