基本的に私は、ユーザーがスポーツ イベントを投稿できるようにする Web サイトをコーディングしています。その後、メンバーは各イベントを評価できます。評価システムは、0.5、1.0、1.5、2.0、2.5、3.0、3.5、4.0、4.5、5.0 の 10 点システムです。
次の 4 つのカテゴリがあります。
組織、お金に見合う価値、施設、楽しい要素
フィールドを使用して mysql データベースに値を保存しfloat
ます。
システムをテストするために、次のダミー データを使用しました。
- 組織 = 2、v4m = 4.5、fac = 4、楽しみ = 2.5;
- 組織 = 3.5、v4m = 4、fac = 4.5、楽しみ = 1.5;
- 組織 = 1、v4m = 5、fac = 4.5、楽しみ = 2.5;
上記に基づいてイベントの評価を表示する場合、各カテゴリを上記の 5 つ星評価システムに四捨五入します。
これまでのところ、丸めを除いて問題なく動作するように見える次のコードがあります。
例: 現在、3 つの組織評価の平均は、四捨五入2.1666666666667
したい2.0
です。平均が になる場合は、4.6666666666667
に丸めたいと思い4.5
ます。
しかし、どうすればこれを行うことができますか?
これまでの私のコードは次のとおりです。
// Count how many ratings this event has
if($ratingCount = $event->getEventRatingCount($event_id)){
// Get ratings for this event
$eventRating = $event->getEventRatings($event_id);
$organisation = 0;
$valueForMoney = 0;
$facilities = 0;
$funFactor = 0;
$overall = 0;
foreach($eventRating AS $rating){
$organisation = ($organisation + $rating['organisation'] / $ratingCount);
$valueForMoney = ($ValueForMoney + $rating['value_for_money'] / $ratingCount);
$facilities = ($facilities + $rating['facilities'] / $ratingCount);
$funFactor = ($funFactor + $rating['fun_factor'] / $ratingCount);
}
echo '<br />';
echo $organisation . '<br />';
echo $valueForMoney . '<br />';
echo $facilities . '<br />';
echo $funFactor . '<br />';
echo $overall = ($organisation + $valueForMoney + $facilities + $funFactor) / $ratingCount);
}else{
// no ratings for this event
}
ダミーデータを使用して、現在これらの値を取得しています。
2.1666666666667
1.6666666666667
4.3333333333333
2.1666666666667
3