Php 星级制度计算
我正在为我的电子商务创建一个简单的评级系统。我有一个评论页面,用户可以从1-5对产品进行评分。我已经可以节省费用了,但我不知道如何计算。这是我的样本数据Php 星级制度计算,php,Php,我正在为我的电子商务创建一个简单的评级系统。我有一个评论页面,用户可以从1-5对产品进行评分。我已经可以节省费用了,但我不知道如何计算。这是我的样本数据 Array ( [rate_1] => 0 // total user voted for rate 'boo' [rate_2] => 1 // total user voted for rate 'more improvement' [rate_3] => 0 // total user voted
Array
(
[rate_1] => 0 // total user voted for rate 'boo'
[rate_2] => 1 // total user voted for rate 'more improvement'
[rate_3] => 0 // total user voted for rate 'its ok'
[rate_4] => 2 // total user voted for rate 'i recommend this'
[rate_5] => 4 // total user voted for rate 'i highly recommend this'
)
下面是一个简单的图表:
rate_1 = Boo
rate_2 = More Improvement
rate_3 = It's OK
rate_4 = I recommend this
rate_5 = I highly recommend this
我想得到的是每种利率的百分比。选择“Boo”等的百分比是多少
最后得到所有这些的汇总百分比
获取每个比率的百分比的原因是我想创建一个类似于Google Playstore的进度比率。在数据库中,您可以保存总评分和用户投票的数量。
而不仅仅是计算评级:
$perProduct = product.totalRating / product.totalVotes
$totalRatingOfProduct = product.totalRating / SUM(product.totalVotes)
在数据库中,您可以保存总评分和用户投票数。
而不仅仅是计算评级:
$perProduct = product.totalRating / product.totalVotes
$totalRatingOfProduct = product.totalRating / SUM(product.totalVotes)
设
N
为单个产品的总评级数
对于此处的示例数据:
Array
(
[rate_1] => 0 // total user voted for rate 'boo'
[rate_2] => 1 // total user voted for rate 'more improvement'
[rate_3] => 0 // total user voted for rate 'its ok'
[rate_4] => 2 // total user voted for rate 'i recommend this'
[rate_5] => 4 // total user voted for rate 'i highly recommend this'
)
N
将是0+1+0+2+4==7
费率_1(Boo)的百分比为(votesOfRate1/N)*100
因此投票给Boo的用户数量将是(0/7)*100
,即0%
比率_2(更多改善)的百分比为(VotesofRate 2/N)*100
因此,投票支持更多改进的用户数量将是(1/7)*100,即14.29%
等等
如果要计算单个产品的平均评级,请执行加权和平均:
AverageRating=((1*votesOfRate1)+(2*votesOfRate2)+(3*votesOfRate3)+(4*votesOfRate4)+(5*votesOfRate5))/N
设N
为单个产品的评级总数
对于此处的示例数据:
Array
(
[rate_1] => 0 // total user voted for rate 'boo'
[rate_2] => 1 // total user voted for rate 'more improvement'
[rate_3] => 0 // total user voted for rate 'its ok'
[rate_4] => 2 // total user voted for rate 'i recommend this'
[rate_5] => 4 // total user voted for rate 'i highly recommend this'
)
N
将是0+1+0+2+4==7
费率_1(Boo)的百分比为(votesOfRate1/N)*100
因此投票给Boo的用户数量将是(0/7)*100
,即0%
比率_2(更多改善)的百分比为(VotesofRate 2/N)*100
因此,投票支持更多改进的用户数量将是(1/7)*100,即14.29%
等等
如果要计算单个产品的平均评级,请执行加权和平均:
AverageRating=((1*votesOfRate1)+(2*votesOfRate2)+(3*votesOfRate3)+(4*votesOfRate4)+(5*votesOfRate5))/N
如果您想通过数组执行此操作,可以尝试使用数组\u sum
($your_array_name['rate_1']/array_sum($your_array_name))*100;
价值解释
$your_array_name['rate_1']
=rate_1的投票种姓数
array\u sum($your\u array\u name)
=这将产生总投票数。如果你已经有了投票总数。只需将array\u sum($your\u array\u name)
替换为总票数您可以尝试使用array\u sum
,如果您想通过array执行此操作
($your_array_name['rate_1']/array_sum($your_array_name))*100;
价值解释
$your_array_name['rate_1']
=rate_1的投票种姓数
array\u sum($your\u array\u name)
=这将产生总投票数。如果你已经有了投票总数。只需将array\u sum($your\u array\u name)
替换为总投票数是的,在我的数据库中,我可以保存以特定比率投票的用户数。但我还需要得到他们的Percantive every rate和所有rate的总汇总百分比。这是从我的php通过我的数据库生成的结果,在我的数据库中,我可以保存在特定比率中投票的用户数量。但我还需要得到他们的Percantive every rate和所有rate的总汇总百分比。这是从我的php通过我的数据库生成的结果,我将尝试。这对我有很大帮助是,N
是单个产品的总投票数,与评级无关。votesOfRate1
应该是Boo选项的投票数,而不是总投票数。你的意思是如果我的投票率为1比5,那么Boo值为1,那么强烈推荐值为5?@Jerielle,检查我编辑的答案。希望你能通过例子更好地理解。干杯。谢谢。我会努力的。这对我有很大帮助是,N
是单个产品的总投票数,与评级无关。votesOfRate1
应该是Boo选项的投票数,而不是总投票数。你的意思是如果我的投票率为1比5,那么Boo值为1,那么强烈推荐值为5?@Jerielle,检查我编辑的答案。希望你能通过例子更好地理解。干杯。在我的rate_5中,我总共有4个,这意味着(4/数组_sum(rate_5))*100
?此过程用于获取个人费率百分比或总体?在我的rate_5中,我总共有4个,这意味着(4/数组_sum(rate_5))*100
?此过程用于获取个人费率百分比或总体?