Вычислить среднее из массива с помощью fmod () - PullRequest
0 голосов
/ 19 мая 2018

У меня есть массив рейтингов, в котором есть список оценок конкретного продукта, из которого я хочу, чтобы результат был средним рейтингом.

Чего я хочу добиться, если средний рейтинг равен 4.2 or 4.3или что-то между 4 to 4.5 должно получиться 4,5, а если средний рейтинг будет равен 4,6 или 4,7, или что-то должно получиться как 5 баллов.

Я сделал что-то, что приводит к 4,5 еще, если средний рейтинг равен 4,2или 4.6.

$product_ratings = Array
                  (
                     [0] => stdClass Object
                     (
                        [id] => 93
                        [product_id] => 5
                        [rating] => 5
                        [user_id] => 154
                     )
                     [1] => stdClass Object
                     (
                        [id] => 93
                        [product_id] => 5
                        [rating] => 5
                        [user_id] => 154
                     )
                     [2] => stdClass Object
                     (
                        [id] => 93
                        [product_id] => 5
                        [rating] => 3.5
                        [user_id] => 154
                     )
                     [3] => stdClass Object
                     (
                        [id] => 93
                        [product_id] => 5
                        [rating] => 5
                        [user_id] => 154
                     )
                     [4] => stdClass Object
                     (
                        [id] => 93
                        [product_id] => 5
                        [rating] => 2.5
                        [user_id] => 154
                     )
                     [5] => stdClass Object
                     (
                        [id] => 93
                        [product_id] => 5
                        [rating] => 4.5
                        [user_id] => 154
                     )
                   )
                $r = 0;
                $rating_total="";
                foreach ($product_ratings as $row) {
                    $rating_total += $row->rating;
                    $r++;
                }
                $average_rating = "";     
                if($rating_total != "" || $rating_total != 0)
                {
                    $average_rating = $rating_total / $r;
                }
                else
                {
                    $average_rating = 0;
                }
                $avg_rating = $average_rating - fmod($average_rating, 0.5);
                echo $avg_rating
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...