转盘抽奖php,使用PHP实现转盘抽奖算法案例解析
这次给大家带来使用PHP实现转盘抽奖算法案例解析,使用PHP实现转盘抽奖算法的注意事项有哪些,下面就是实战案例,一起来看一下。
流程:
1.拼装奖项数组
2.计算概率
3.返回中奖情况
代码如下:
中奖概率 ' v ' 可以在后台设置,传到此方法中,注意传整数function get_gift(){
//拼装奖项数组
// 奖项id,奖品,概率
$prize_arr = array(
'0' => array('id'=>1,'prize'=>'平板电脑','v'=>0),
'1' => array('id'=>2,'prize'=>'数码相机','v'=>0),
'2' => array('id'=>3,'prize'=>'音箱设备','v'=>0),
'3' => array('id'=>4,'prize'=>'4G优盘','v'=>5),
'4' => array('id'=>5,'prize'=>'10Q币','v'=>0),
'5' => array('id'=>6,'prize'=>'空奖','v'=>5),
);
foreach ($prize_arr as $key => $val) {
$arr[$val['id']] = $val['v'];//概率数组
}
$rid = $this->get_rand($arr); //根据概率获取奖项id
$res['yes'] = $prize_arr[$rid-1]['prize']; //中奖项
unset($prize_arr[$rid-1]); //将中奖项从数组中剔除,剩下未中奖项
shuffle($prize_arr); //打乱数组顺序
for($i=0;$i
$pr[] = $prize_arr[$i]['prize']; //未中奖项数组
}
$res['no'] = $pr;
// var_dump($res);
if($res['yes']!='空奖'){
$result['status']=1;
$result['name']=$res['yes'];
}else{
$result['status']=-1;
$result['msg']=$res['yes'];
}
//return $result;
var_dump($result);
}
//计算中奖概率
function get_rand($proArr) {
$result = '';
//概率数组的总概率精度
$proSum = array_sum($proArr);
// var_dump($proSum);
//概率数组循环
foreach ($proArr as $key => $proCur) {
$randNum = mt_rand(1, $proSum); //返回随机整数
if ($randNum <= $proCur) {
$result = $key;
break;
} else {
$proSum -= $proCur;
}
}
unset ($proArr);
return $result;
}
效果图:
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
转盘抽奖php,使用PHP实现转盘抽奖算法案例解析相关推荐
- 微信抽奖源码PHP前后台+转盘+数据库完整示例
微信抽奖源码PHP前后台+转盘+数据库完整示例 微信抽奖源码PHP前后台+转盘+数据库完整示例 微信抽奖源码PHP前后台+转盘+数据库完整示例 微信抽奖源码PHP前后台+转盘+数据库完整示例 文件下载 ...
- php mysql抽奖转盘_thinkphp 微信抽奖源码PHP前后台+转盘+数据库完整示例
[实例简介]1微信抽奖源码PHP前后台 转盘 数据库完整示例 [实例截图] [核心代码]1微信抽奖源码PHP前后台 转盘 数据库完整示例 // 本类由系统自动生成,仅供测试用途 class Index ...
- 幸运大转盘php逻辑判断,jQuery幸运大转盘_jQuery+PHP抽奖程序(上)
网上转盘抽奖程序大多是flash完成的,而本文使用jQuery和PHP来实现转盘抽奖程序,为了便于理解,我们分两部分来讲解,本文讲解第一部分,侧重使用jQuery实现转盘的转动效果.第二部分侧重使用P ...
- python转盘抽奖_Python使用Tkinter实现转盘抽奖器的步骤详解
我使用 Python 中的 Tkinter 模块实现了一个简单的滚动抽奖器,接下来继续写一个简单的转盘抽奖器. 滚动抽奖器与点名的场景相似,是从一群人中抽出中奖的人,奖品是提前确定了的,抽奖只是确定中 ...
- php 实现抽奖接口,PHP转盘抽奖接口实例,php转盘抽奖_PHP教程
PHP转盘抽奖接口实例,php转盘抽奖 本文实例讲述了PHP转盘抽奖接口的实现方法.分享给大家供大家参考.具体如下: 这里的转盘抽奖随机返回一个转盘角度,概率可自己定义 lottery_get.php ...
- php9宫格抽奖程序_使用php控制抽奖系统
一下观点都是小弟未经深思熟虑的考虑写的,如果不对的地方请指点.... 抽奖系统 俗称 大转盘 或 九宫格抽奖功能,大转盘或九宫格的功能我就不说了,网上插件有很多,也很简单,这里就简单的讲解一下思路 1 ...
- PHP抽奖小程序/微信红包封面抽奖小程序/抽奖小程序开源源码
PHP抽奖小程序源码,微信红包封面抽奖小程序,全开源.带流量主(需要自行替换代码),独立后台,亲测完美可用. 下载 PHP抽奖小程序/微信红包封面抽奖小程序/抽奖小程序开源源码 亲测截图:
- python抽奖游戏_利用Python写一个抽奖程序,解密游戏内抽奖的秘密
原标题:利用Python写一个抽奖程序,解密游戏内抽奖的秘密 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客 ...
- 写出一个抽奖页面,有200个人参加抽奖
写出一个抽奖页面 有200个人参加抽奖,每次抽出一个人,不能重复,必须每个人都要抽中奖 前面10次抽奖要选中固定的10个人,每次就从这10人中随机抽取一人,不能重复 从第11次开始就从剩余的190人当 ...
最新文章
- [Android]Android端ORM框架——RapidORM(v1.0)
- qt linux 添加库文件路径,linux下qt使用第三方库的那些事
- 这就是库克的重大计划?英特尔新CEO帕特誓言:CPU必须要比苹果好!
- put url带参数_一道腾讯面试题:如何快速判断某 URL 是否在 20 亿的网址 URL 集合中?...
- jsch 长连接_广濑连接器DF13
- Android自带类实现语音合成
- Java - 多线程Callable、Executors、Future
- relocation R_X86_64_PC32 against symbol ff_pw_9 can not be used when making a shared object
- 大连大学计算机专业就业前景怎么样,大连大学有哪些优势专业?它就业率高吗?考生们快看看吧!...
- Java EE入门教程系列第二章JSP(一)——第一个JSP程序
- 小红书4大主要人群的消费特征,你占了几个?
- 222Echarts - 3D 地球(Globe Displacement)
- MySQL高可用之主备同步:电脑安装java步骤
- 浅谈用户行为分析(一)
- 电磁兼容入门篇之辐射发射(辐射骚扰)试验
- 1.移动机器人发展现状
- 2021全新改版影视app系统源码(全开源)
- mkv视频文件怎么转成mp4,这3个方法很好用
- java导出Excel增加下拉框选项,解决小数据量和大数据量下拉框选项的问题
- java获取到的引号quot;会转换成amp;quot;问题