php sum值按二维数组中的其他列分组

佩库斯

我有如下代码

   $arr = [
        [
            'dog' => 'beagl',
            'value' => 2
        ],
        [
            'dog' => 'beagl',
            'value' => 3
        ],
        [
            'dog' => 'york',
            'value' => 3
        ]
    ];

结果应该是 bealg=> 5,york => 3

我如何总结它按狗分组?

杰斯皮特

PHP> = 7.4 的智能解决方案,带有Null Coalesce Assignment ??=

foreach($arr as $row){
  $sum[$row['dog']] ??= 0;
  $sum[$row['dog']] += $row['value'];
}

var_export($sum);
//array ( 'beagl' => 5, 'york' => 3, )

使用数组类也是如此(您可以在此处找到该类)。

$sum = TableArray::create($arr)
  ->filterGroupAggregate(['value' => 'sum'],['dog'])
  ->fetchKeyValue('dog','value')
;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章