我有如下代码
$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] 删除。
我来说两句