获得多维数组的总数

时间:2015-11-17 14:59:09

标签: php arrays multidimensional-array

所以我有一个通过循环

创建的数组
foreach ($items as $item)
{
    $item_arr[$id]['count'] = $item->rowcount;
}

现在我想做的是得到计数的总和。我知道我可以使用$ sum + = $ item-> rowcount;但我想知道在foreach完成时是否有更有效的方法在循环外使用类似的东西:

$sum = array_sum($item_arr[]['count']);

但这不起作用说它不喜欢[],有没有办法做到这一点,或者只是在foreach循环中保持计数的最佳方式。只是想保持代码更清晰,更可读,但也许这是一个愚蠢的问题?

3 个答案:

答案 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;