php抽奖概率算法(刮刮卡,大转盘),抽奖刮刮卡

本文实例为大家分享了php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法,用法很简单,代码里有详细注释说明,供大家参考,具体内容如下

$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,那中奖概率就是万分之一了。

*

*/

$prize_arr = array(

'0' => array('id'=>1,'prize'=>'平板电脑','v'=>1),

'1' => array('id'=>2,'prize'=>'数码相机','v'=>5),

'2' => array('id'=>3,'prize'=>'音箱设备','v'=>10),

'3' => array('id'=>4,'prize'=>'4G优盘','v'=>12),

'4' => array('id'=>5,'prize'=>'10Q币','v'=>22),

'5' => array('id'=>6,'prize'=>'下次没准就能中哦','v'=>50),

);

/*

* 每次前端页面的请求,PHP循环奖项设置数组,

* 通过概率计算函数get_rand获取抽中的奖项id。

* 将中奖奖品保存在数组$res['yes']中,

* 而剩下的未中奖的信息保存在$res['no']中,

* 最后输出json个数数据给前端页面。

*/

foreach ($prize_arr as $key => $val) {

$arr[$val['id']] = $val['v'];

}

$rid = get_rand($arr); //根据概率获取奖项id

$res['yes'] = $prize_arr[$rid-1]['prize']; //中奖项

unset($prize_arr[$rid-1]); //将中奖项从数组中剔除,剩下未中奖项

shuffle($prize_arr); //打乱数组顺序

for($i=0;$i

以上就是php抽奖概率算法的全部内容,希望对大家学习php程序设计有所帮助,也希望大家多多支持帮客之家。

http://www.bkjia.com/PHPjc/1136611.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1136611.htmlTechArticlephp抽奖概率算法(刮刮卡,大转盘),抽奖刮刮卡 本文实例为大家分享了php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法,用法很简单...

php 刮奖,php抽奖概率算法(刮刮卡,大转盘),抽奖刮刮卡_PHP教程相关推荐

  1. C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断...

    C#保留2位小数几种场景总结 场景1: C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.25. ...

  2. 手机抽奖页面代码html,html5大转盘抽奖支持手机转盘抽奖代码

    特效描述:html5 大转盘抽奖 支持手机 转盘抽奖代码.html5转盘,html5抽奖,手机转盘,手机抽奖,手机转盘抽奖,可配置奖品抽奖. 代码结构 1. 引入CSS 2. 引入JS 3. HTML ...

  3. php中奖概率算法,刮刮卡/大转盘抽奖算法

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法 前言 一.概率算法 二.奖项数组 三.引用输出 总结 前言 以下是我整理的在项目中 ...

  4. 幸运抽奖java技术文档_原生js轮盘抽奖实例分析(幸运大转盘抽奖)

    效果图: 所需图片素材: 这张图是pointer.png的位置的. turntable-bg.jpg这张是转盘背景图,在背景位置. 这张是turntable.png位置的. 需要这三张图片,如果要实现 ...

  5. js之原生js轮盘抽奖实例分析(幸运大转盘抽奖)

    效果图: 所需图片素材: 这张图是pointer.png的位置的. turntable-bg.jpg这张是转盘背景图,在背景位置. 这张是turntable.png位置的. 需要这三张图片,如果要实现 ...

  6. PHP+AJAX开发幸运大转盘抽奖

    PHP+AJAX开发幸运大转盘抽奖 PHP+AJAX开发幸运大转盘抽奖,通过奖品库存.中奖次数来计算中奖概率 奖品设置 1 $prizes = array( 2 0 => array( 3 &q ...

  7. 移动换H5 の 纯CSS3实现大转盘抽奖布局 by FungLeo

    移动换H5 の 纯CSS3实现大转盘抽奖布局 by FungLeo 前言 本教程不涉及JS控制旋转部分,也不涉及后端输出抽奖结果部分.这篇教程讲的是如何去实现大转盘抽奖的布局. 在制作大转盘抽奖的时候 ...

  8. php 打乱数组顺序_PHP实现大转盘抽奖算法

    php中文网最新课程 每日17点准时技术干货分享 本文通过具体的实例向大家介绍了PHP语言实现大转盘抽奖算法,希望对大家学习PHP抽奖有所帮助. 流程: 1.拼装奖项数组: 2.计算概率: 3.返回中 ...

  9. js框架jquery实现的幸运大转盘抽奖程序代码,兼容多种浏览器(Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Chrome)

    博客目录 js框架jquery实现的幸运大转盘抽奖程序代码 实现功能截图 系统功能 使用技术 代码 写在最后 js框架jquery实现的幸运大转盘抽奖程序代码 本系统实现了一个幸运转盘抽奖,兼容多种浏 ...

  10. 微信js 大转盘抽奖

    看到网页上有不少大转盘抽奖的应用,心血来潮也想弄个.于是找了点资料自己研究了下 queryRotate 这个插件就可以实现这个功能 jqueryRotate: 支持Internet Explorer ...

最新文章

  1. UA SIE545 优化理论基础4 对偶理论简介6 求解对偶问题的梯度算法
  2. MySQL修改和删除索引(DROP INDEX)
  3. Symfony2 生成应用包
  4. Object_id用法
  5. linux下安装erlang
  6. 小算法小心情:背包问题就是陪你看花开向阳
  7. excel html id,excel.html
  8. SQL-Server2008数据库异常报错
  9. devc++编程 error: jump to case label错误笔记
  10. LINGO语法及软件操作
  11. 免费的谷歌翻译api,Google Translate API
  12. python源码深度剖析_Python 源码深度剖析
  13. brctl 设置ip_Linux 网桥配置命令:brctl | 学步园
  14. Vue源码解析系列——响应式原理篇:理解Dep类和Watcher类
  15. 路由及路由器工作原理深入解析3:路由与端口
  16. 通过surfer提取边界bln文件的方法
  17. python 课后作业_python 学习笔记 三 课后作业
  18. 2048小游戏HTML网页版源码共享
  19. 漫画绘图软件MediBang Paint Pro 27.2中文版
  20. layui标签页切换并自动刷新

热门文章

  1. Mockito when函数实现方式
  2. Kernel:里的某某某;xxx
  3. Aerospike SSD模式下,刷写磁盘和写入数据swb的关系
  4. 如何搭建DNS--域名系统
  5. C#——初识Console
  6. 真牛皮!wsl安装位置
  7. microsoft bing browser advance search
  8. 服务器2012r2安装虚拟,Windows2012R2创建Hyper-v虚拟化群集
  9. 尚硅谷实战项目---手机影音APP
  10. Fresco之强大之余的痛楚