我正在进行星级评定(5星是最好的,1是坏的),我有4个用户投票的4个记录。PHP:计算平均值3
user1: 3
user2: 4
user3: 5
user4: 3
我该如何计算出在PHP中的平均值?
它是简单的数学,$ count = $ user1 + $ user2 + $ user3 + $ user4/4?
我想:
echo round(3+4+5+3/4);
,并得到了 “13”,这是不对的数量
我正在进行星级评定(5星是最好的,1是坏的),我有4个用户投票的4个记录。PHP:计算平均值3
user1: 3
user2: 4
user3: 5
user4: 3
我该如何计算出在PHP中的平均值?
它是简单的数学,$ count = $ user1 + $ user2 + $ user3 + $ user4/4?
我想:
echo round(3+4+5+3/4);
,并得到了 “13”,这是不对的数量
在数学师先除此之外,所以你应该重写等式(3 + 4 + 5 + 3 )/ 4
部门优先于添加。而不是你做什么,在分裂之前使用
echo round((3+4+5+3)/4);
你必须将你的信息添加。
echo round((3 + 4 + 5 + 3)/ 4);
您正在进入运算符优先级。该部门将加入前计算,所以你得到这个(为了清楚起见,加括号):
3 + 4 + 5 + (3/4)
...,然后取整到13
试试这个:
$count = ($user1 + $user2 + $user3 + $user4)/4
<?php
echo round((3+4+5+3)/4);
or
$user1=3;
$user2=4;
$user3=5;
$user4=3
echo $count = ($user1 + $user2 + $user3 + $user4)/4
op-->4
?>
试试这个它的工作完美..
您有2个选项如何存储的选票。
a)分别因为你现在做的(用户1:5;用户2:3;用户3:4; ...)
b)或可以聚集票
你最有可能实现的选项),但让我告诉你什么选项b)。
当您汇总投票时,对于每篇文章/文章/新闻您只存储2个值 - 得票数和平均评分。
这可以帮助您每次渲染页面时更快,更轻松地检索平均评分。
但是,当用户投了他/她的投票,你需要做一点数学来更新的平均评分。
假设存储值如下
平均评分 = 3。3
票数 = 5
如果用户投票3
,您需要同时更新平均评分和票数这样的:
票的新号码 = [old number of votes] + 1
(5 + 1 = )
新的平均等级 =
([old average rating] * [old number of votes] + [current vote])/[new number of votes]
((3.3 * 5 + 3)/ 6 = 3.25)
但是,以这种方式存储投票也有一个缺点 - 您无法了解个人用户如何投票。如果需求说明您需要了解个人用户如何投票,请将方法a)和b)结合起来,并且您很好。
没有冒犯,如果你*不知道基本的运算符优先级,你应该立即停止编码。 – 2011-02-10 10:23:59
基础高中数学应该告诉你,师将优先于加法,所以你应该使用括号。 – Spudley 2011-02-10 10:24:08
这个网站是针对初学者的问题,以及我们这些具有更高级知识的人。这是一个有效的问题,在我们学习的过程中,我们都遇到过这个问题... – 2011-02-10 10:32:44