当前位置: 首页 > news >正文

沈阳网站建设搜q479185700外包网有哪些

沈阳网站建设搜q479185700,外包网有哪些,网站pc和手机端分离怎么做,佛山网站建设公司电话前言 函数要实现的功能&#xff1a;设置N个奖品&#xff0c;为每个奖品设置一个抽中概率&#xff0c;然后程序根据概率进行抽奖。 代码 <?phpfunction luckyDraw(array $prizePool) {$precision 10000;// 检查奖品池的概率总和是否等于1$probabilitySum 0;foreach ($p…

前言

函数要实现的功能:设置N个奖品,为每个奖品设置一个抽中概率,然后程序根据概率进行抽奖。

代码

<?phpfunction luckyDraw(array $prizePool)
{$precision = 10000;// 检查奖品池的概率总和是否等于1$probabilitySum = 0;foreach ($prizePool as $prize) {if ($prize['weight'] > 1) {throw new Exception("奖品的概率设置不能大于1:{$prize['weight']}");}if (!preg_match('/^[01](\.\d{0,4})?$/', strval($prize['weight']))) {throw new Exception("概率数值不合法({$prize['weight']}):仅支持设置0-1之间的数值,小数精确度最多只能有4位");}$probabilitySum += $prize['weight'];}if ($probabilitySum != 1) {throw new Exception("概率之和不为1:$probabilitySum");}// 开始抽奖$result = null;$rand = mt_rand(1, $precision);$offset = 0;foreach ($prizePool as $prize) {$start = $offset + 1;$end = intval($offset + ($prize['weight'] * $precision));$offset = $end;if ($rand >= $start && $rand <= $end) {$result = $prize;break;}}if ($result === null) {throw new Exception("抽奖失败!");}return $result;
}$pool = [['name' => '一等奖','weight' => 0.0001, // 抽中概率,可以设置0-1之间的任意数值,小数精确度最多支持4位,例如 0.0001 代表是 0.01%],['name' => '二等奖','weight' => 0.0099, // 0.99%],['name' => '三等奖','weight' => 0.05, // 5%],['name' => '谢谢惠顾','weight' => 0.94, // 94%],
];$result = luckyDraw($pool);
echo "您抽中的奖品是:" . json_encode($result, JSON_UNESCAPED_UNICODE) . "\n";// TODO:如果奖品有库存限制,可以再加上判断库存的逻辑,如果抽中奖品的库存已经为0,则返回”谢谢惠顾“给用户

测试

抽奖10万次,看看结果符不符合我们设置的抽中概率,测试代码:

$stat = [];
for ($i = 0; $i < 100000; $i++) {$result = luckyDraw($pool);$stat[] = $result['name'];
}var_dump(array_count_values($stat));// 结果:
// 一等奖 8 次(概率 0.008%)
// 二等奖 1014 次(概率 1.014%)
// 三等奖 4943 次(概率 4.943%)
// 谢谢惠顾 94035 次(概率 94.035%)

从结果看是符合我们设置的抽中概率的:)

http://www.yayakq.cn/news/629521/

相关文章:

  • php 网站缩略图建立网站线上营销
  • 爱网站关键词查询工具wordpress+grace+破解
  • 网站开发 定制 合同郑州模板网站
  • 简述网站开发平台及常用开发工具网页设计psd
  • 广西住房和城乡建设厅网站首页软件开发工程师就业前景
  • 网站开发亿玛酷技术一元云够网站建设
  • 如何做网站链接使用江阴市城乡建设网站
  • 赣州制作网站企业专业建站团队
  • 网站分为哪些类型crm管理系统的好处
  • 邵东微网站建设亚洲电视全球运营中心
  • 网站页面效果图怎么做的网站有哪些后台
  • 做百度移动端网站网页浏览器打开
  • 淘宝客单页网站怎么做用dw做销售网站
  • 网站中怎么做图片的变换企拓客软件多少钱
  • 有没有做线播放网站宁波建设教育培训网
  • 企业网站 域名注册告诉搜索引擎网站建设中
  • 鹏鸿生态板官方网站开发区代理购物网站多少钱
  • 深圳网站运营wordpress自定义链接不能用
  • 云服务器放网站快么兰州网站建设搜王道下拉
  • 搭建wordpress站点wordpress ldap外部登录认证
  • 有哪些做伦敦金的网站江苏太仓建设局网站
  • 网站开发原则室内设计专业招聘信息
  • 免费建站系统开源郴州吧
  • 知名商城网站建设报价成品源码网站
  • 建设一个网站需要注意哪些要求百度关键词热搜
  • 方便做简笔画的网站或软件网站要有可留言功能 怎么做
  • 整站优化包年网站维护很难吗
  • 做服务器的网站都有哪些购买一个网站多少钱
  • 网站建设多少钱一个站电子商务网站建设策划方案
  • 网站备案企业用个人来备案可以用吗南通个人网站制作