2014-05-17 112 views
-1

我有一个用PHP编写的投票系统,用户可以对投票内容进行上下投票。为了鼓励投票,我想向用户显示一条消息,如果他们的投票数低于他们的投票数。喜欢的东西:投票比率算法,以支持最多投票

请考虑上投票更鼓励你的同伴用户

所以,我有两个变量目前,$user_upvotes$user_downvotes

下面是该算法的条件:

  1. 该消息仅回荡如果用户具有超过5上投票。
  2. 如果用户比投票得票率低60%,该消息被回应。

我可以使用什么算法来使用PHP进行此计算。考虑到我的用户群非常高,性能至关重要。

+0

如果您只是用该用户存储用户的upvotes和downvotes数量,那么您的用户数量有多大有什么关系? –

+1

这个问题似乎是无关紧要的,因为它没有显示解决问题的尝试。 – wallyk

+0

你有什么尝试?如果你在代码中键入你的算法,它会变成类似'if($ user_upvotes> 5 && $ user_downvotes>($ user_upvotes + $ user_downvotes)* 0.6){...}'。这不行吗?你究竟想问什么? – CodeCaster

回答

2

喜欢这个?

<?php 

if($user_upvotes > 5) 
{ 
    if($user_downvotes/$user_upvotes > 1.6) 
     echo 'Please consider up-voting more to encourage your fellow users'; 
} 

?> 
+0

谢谢。在性能方面,哪个计算速度更快,您的还是Rudiger的? –

+0

这一个稍快。 Rudiger的计算在一个(加法和乘法)中有两个单独的计算,而这个只有一个(除法)。我认为这个更容易阅读和理解。 –

+0

我同意,我认为这个更好 –

1

像这样的事情

if ($user_upvotes > 5) { 
    if (($user_upvotes + (0.6 * $user_upvotes)) < $user_downvotes) 
    echo "Please consider up-voting more to encourage your fellow users"; 
} 
+0

谢谢。在性能方面,哪个计算速度更快,你的还是Victor的? –

+0

@HenrikPetterson Victor的 –