• 微信
您当前的位置: 首页> PHP> 抽奖概率>

PHP抽奖算法完善 增大基数 减小大奖中奖概率

作者:Alpha时间:2019-01-09 阅读数:2697 +人阅读

在上篇文章中《PHP抽奖算法逻辑思维 代码如何实现 基础理论》实现了抽奖的基本算法,理论逻辑搞清楚了先。文章最后也提到了这种算法的不足之处,这篇文章来说说如何提升完善,具体代码可以参考上文链接。

如何增大基数

我们可以在统计基数和的时候,预先设置一个放大的倍数,然后每个奖项基数乘以这个放大倍数即可。这个放大倍数后期可在后台设置,根据需要设置。

代码实现:

......
$multiple = 100   //基数统一放大的倍数
asort($items)    //对重组后的奖品数据进行升序排序 目的是保证基数从小到大,因为客户在添加数据的时候不一定是按顺序来的
$num = array_sum($items) * $multiple;
......

最后我们可以将抽中的奖品数据放到一个数组中存起来,以便后期利用。

因为在实际运用中,奖品个数是一定的,抽中了一个响应的数量就要减少一个。

本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:595397166@qq.com

标签: 小程序 小程序

阿尔法

软件开发工程师#全栈工程师

{include file=foot.html}