PHP抽奖算法完善 增大基数 减小大奖中奖概率
作者:Alpha时间:2019-01-09 阅读数:2697 +人阅读
在上篇文章中《PHP抽奖算法逻辑思维 代码如何实现 基础理论》实现了抽奖的基本算法,理论逻辑搞清楚了先。文章最后也提到了这种算法的不足之处,这篇文章来说说如何提升完善,具体代码可以参考上文链接。
如何增大基数
我们可以在统计基数和的时候,预先设置一个放大的倍数,然后每个奖项基数乘以这个放大倍数即可。这个放大倍数后期可在后台设置,根据需要设置。
代码实现:
...... $multiple = 100 //基数统一放大的倍数 asort($items) //对重组后的奖品数据进行升序排序 目的是保证基数从小到大,因为客户在添加数据的时候不一定是按顺序来的 $num = array_sum($items) * $multiple; ......
最后我们可以将抽中的奖品数据放到一个数组中存起来,以便后期利用。
因为在实际运用中,奖品个数是一定的,抽中了一个响应的数量就要减少一个。
本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了你的权益请来信告知我们删除。邮箱:595397166@qq.com
下一篇:没有了