所以我有一个通过循环
创建的数组foreach ($items as $item)
{
$item_arr[$id]['count'] = $item->rowcount;
}
现在我想做的是得到计数的总和。我知道我可以使用$ sum + = $ item-> rowcount;但我想知道在foreach完成时是否有更有效的方法在循环外使用类似的东西:
$sum = array_sum($item_arr[]['count']);
但这不起作用说它不喜欢[],有没有办法做到这一点,或者只是在foreach循环中保持计数的最佳方式。只是想保持代码更清晰,更可读,但也许这是一个愚蠢的问题?
答案 0 :(得分:0)
$ id来自哪里?
最好的是$ sum + = $ item-> rowcount;
$sum = 0;
foreach ($items as $item) {
$sum += $item->rowcount;
}
echo $sum;
答案 1 :(得分:0)
您可以像这样使用array_reduce()
LocalBroadcastManager
答案 2 :(得分:0)
主题的变体可能会像array_reduce
那样使用array_walk
$total=0;
$arr=array(
array('count'=>23),
array('count'=>54),
array('count'=>91),
array('count'=>86)
);
array_walk( $arr, function( &$i, $k, &$t ){
$t += $i['count'];
}, &$total );
echo 'total:'.$total;