如何对多维数组中的元素进行计数和求和?

时间:2011-06-07 21:05:05

标签: php arrays count sum

我有一个返回一些数字的数组。我想将这些数字加在一起并计算它们。

这是我到目前为止所拥有的:

<?php
$homepage = file_get_contents('http://graph.facebook.com/215844978437619/reviews');
$parsed = json_decode($homepage,true);
foreach ($parsed['data'] as $key => $values){
$totalRatings1 = $values['rating'] ;
}
?>

我要做的是将$values['rating']加在一起并计算它们。

这样:$totalRatings = sum_array($values['rating'])$totalCount = count($values['rating'])

但是我迷失在sintax中。

任何想法? 感谢

2 个答案:

答案 0 :(得分:2)

<?php
$homepage = file_get_contents('http://graph.facebook.com/215844978437619/reviews');
$parsed = json_decode($homepage,true);

$totalRatings = 0;
$totalRated = 0;

foreach ($parsed['data'] as $key => $values){
   $totalRatings += (int) $values['rating'];
   $totalRated++;
}
?>

$totalRatings将包含所有评分的汇总总和,$totalRated将是有多少评分的计数。

答案 1 :(得分:2)

只需声明两个变量,然后在每次迭代时递增它们:

<?php
$homepage = file_get_contents('http://graph.facebook.com/215844978437619/reviews');
$parsed = json_decode($homepage,true);

$totalRating = 0;
$totalItems = 0;
foreach ($parsed['data'] as $key => $values) {
    $totalRating += $values['rating'];
    $totalItems++;
}

$totalRating将保留所有评分的总和,而$totalItems将包含项目总数。