php 项目名,php – 项目排名,使用Reddit排名算法自信地排序

我有兴趣使用这个

ranking class,基于

Evan Miller的一篇文章来排名我有一个有upvotes和downvotes的表.我有一个非常类似Stack Overflow的上/下投票系统的系统,用于我正在处理的事件站点,通过使用这个排名类,我觉得结果会更准确.我的问题是如何通过功能’hotness’订购?

private function _hotness($upvotes = 0, $downvotes = 0, $posted = 0) {

$s = $this->_score($upvotes, $downvotes);

$order = log(max(abs($s), 1), 10);

if($s > 0) {

$sign = 1;

} elseif($s < 0) {

$sign = -1;

} else {

$sign = 0;

}

$seconds = $posted - 1134028003;

return round($order + (($sign * $seconds)/45000), 7);

}

我想每次用户投票我都可以在我的表中有一个列,其中包含为新投票重新计算的热度数据,并按主页上的该列排序.但我有兴趣在运行中加入上述功能,我不确定这是否可行.

来自Evan Miller,他使用:

SELECT widget_id, ((positive + 1.9208) / (positive + negative) -

1.96 * SQRT((positive * negative) / (positive + negative) + 0.9604) /

(positive + negative)) / (1 + 3.8416 / (positive + negative))

AS ci_lower_bound FROM widgets WHERE positive + negative > 0

ORDER BY ci_lower_bound DESC;

但我宁愿不在sql中进行这个计算,因为我觉得这很麻烦,如果我在多个页面上使用这个代码就很难改变.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值