2014-05-17 141 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的 –