Как посчитать и суммировать элементы в многомерном массиве?

#php #arrays #count #sum

#php #массивы #подсчитывать #сумма

Вопрос:

у меня есть массив, который возвращает некоторые числа. и я хочу сложить эти числа вместе и также посчитать их.

вот что у меня есть на данный момент:

 <?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'])

но я теряюсь в синтаксе.

есть идеи? Спасибо

Комментарии:

1. Что but i get lost in the sintax. означает?

Ответ №1:

 <?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 будет подсчитано, сколько существует оценок.

Ответ №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 будет содержать общее количество элементов.