PHP抽奖中奖概率算法设计
短信预约 -IT技能 免费直播动态提醒
做项目的时候涉及到抽奖概率的设置,以下是php实现中奖抽奖概率的计算算法,供大家参考
一、中奖概率方法:可以看到设置了每个中奖概率,合计中奖概率为100%
['id' => 1, 'prize' => '奖品1', 'v' => 20],'1' => ['id' => 2, 'prize' => '奖品2', 'v' => 10],'2' => ['id' => 3, 'prize' => '奖品3', 'v' => 20],'3' => ['id' => 4, 'prize' => '奖品4', 'v' => 5],'4' => ['id' => 5, 'prize' => '奖品5', 'v' => 19],'5' => ['id' => 6, 'prize' => '奖品6', 'v' => 5],'6' => ['id' => 7, 'prize' => '奖品7', 'v' => 10],'7' => ['id' => 8, 'prize' => '奖品8', 'v' => 10],]; foreach ($prize_arr as $key => $val) {$arr[$val['id']] = $val['v'];} $rid = $this->get_prize($arr); //根据概率获取奖项id$data = $prize_arr[$rid-1];return json($data); }
二、对概率进行计算
$proCur) {$randNum = mt_rand(1, $proSum);if ($randNum <= $proCur) {$result = $key;break;} else {$proSum -= $proCur;}}unset ($proArr);return $result;}?>
来源地址:https://blog.csdn.net/qq_37448303/article/details/127003808
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341