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