更多>
最新下载
24小时阅读排行榜
- 1 win10系统打印机无法打印 win10打印机故障排查指南
- 2 js怎么实现元素的淡入淡出效果
- 3 学python能干嘛 学习后就业方向
- 4 2025年1月-5月Steam最畅销十大新作
- 5 学习通课程密码忘记了怎么办 学习通课程密码找回操作指南
- 6 Python中如何提取视频帧?
- 7 抖音如何查看谁看过我 抖音访客记录查看方法分享
- 8 python中del是什么意思 python中del删除对象的用法解析
- 9 美图秀秀怎么给照片加雪花特效?美图秀秀冬季氛围!
- 10 PHP中的代码规范:如何在PHP中遵循PSR标准编写代码
- 11 众议员迈克·柯林斯(Mike Collins
- 12 Python里sys.argv的含义 sys模块中命令行参数argv的用法说明
- 13 Python中time.sleep功能 时间模块sleep函数在延迟执行中的应用
- 14 小米手机怎么使用google地图
- 15 为什么《生化危机9》没有萝丝?舅舅:她当时只有5岁
更多>
最新教程
-
- 麻省理工大佬Python课程
- 9390 2024-05-31
-
- Swoole5 Hyperf3 php8新版本协程框架讲说
- 11964 2024-05-13
-
- 【web前端】Node.js快速入门
- 7848 2024-04-26
-
- 国外Web开发全栈课程全集
- 7772 2024-04-24
-
- Go语言实战之 GraphQL
- 5585 2024-04-19
-
- 550W粉丝大佬手把手从零学JavaScript
- 6398 2024-04-18
下载首页 / 类库下载 / 其它类库
<?php function get_rand($proArr) { $result = ''; //概率数组的总概率精度 $proSum = array_sum($proArr); //概率数组循环 foreach ($proArr as $key => $proCur) { $randNum = mt_rand(1, $proSum); if ($randNum <= $proCur) { $result = $key; break; } else { $proSum -= $proCur; } } unset ($proArr); return $result; }
奖项数组是一个二维数组,记录了所有本次抽奖的奖项信息,其中id表示中奖等级,prize表示奖品,v表示中奖概率。注意其中的v必须为整数,你可以将对应的 奖项的v设置成0,即意味着该奖项抽中的几率是0,数组中v的总和(基数),基数越大越能体现概率的准确性。本例中v的总和为100,那么平板电脑对应的 中奖概率就是1%,如果v的总和是10000,那中奖概率就是万分之一了。$proArr是一个预先设置的数组,假设数组为:array(100,200,300,400),开始是从1,1000 这个概率范围内筛选第一个数是否在他的出现概率范围之内,如果不在,则将概率空间,也就是k的值减去刚刚的那个数字的概率空间,在本例当中就是减去100,也就是说第二个数是在1,900这个范围内筛选的。这样 筛选到最终,总会有一个数满足要求。就相当于去一个箱子里摸东西,第一个不是,第二个不是,第三个还不是,那最后一个一定是。这个算法简单,而且效率非常 高,关键是这个算法已在我们以前的项目中有应用,尤其是大数据量的项目中效率非常棒。


本站所有资源都是由网友投搞发布,或转载各大下载站,请自行检测软件的完整性!本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!如有侵权请联系我们删除下架,联系方式:admin@php.cn