这次给大家带来使用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实现转盘抽奖算法案例解析相关推荐

  1. 微信抽奖源码PHP前后台+转盘+数据库完整示例

    微信抽奖源码PHP前后台+转盘+数据库完整示例 微信抽奖源码PHP前后台+转盘+数据库完整示例 微信抽奖源码PHP前后台+转盘+数据库完整示例 微信抽奖源码PHP前后台+转盘+数据库完整示例 文件下载 ...

  2. php mysql抽奖转盘_thinkphp 微信抽奖源码PHP前后台+转盘+数据库完整示例

    [实例简介]1微信抽奖源码PHP前后台 转盘 数据库完整示例 [实例截图] [核心代码]1微信抽奖源码PHP前后台 转盘 数据库完整示例 // 本类由系统自动生成,仅供测试用途 class Index ...

  3. 幸运大转盘php逻辑判断,jQuery幸运大转盘_jQuery+PHP抽奖程序(上)

    网上转盘抽奖程序大多是flash完成的,而本文使用jQuery和PHP来实现转盘抽奖程序,为了便于理解,我们分两部分来讲解,本文讲解第一部分,侧重使用jQuery实现转盘的转动效果.第二部分侧重使用P ...

  4. python转盘抽奖_Python使用Tkinter实现转盘抽奖器的步骤详解

    我使用 Python 中的 Tkinter 模块实现了一个简单的滚动抽奖器,接下来继续写一个简单的转盘抽奖器. 滚动抽奖器与点名的场景相似,是从一群人中抽出中奖的人,奖品是提前确定了的,抽奖只是确定中 ...

  5. php 实现抽奖接口,PHP转盘抽奖接口实例,php转盘抽奖_PHP教程

    PHP转盘抽奖接口实例,php转盘抽奖 本文实例讲述了PHP转盘抽奖接口的实现方法.分享给大家供大家参考.具体如下: 这里的转盘抽奖随机返回一个转盘角度,概率可自己定义 lottery_get.php ...

  6. php9宫格抽奖程序_使用php控制抽奖系统

    一下观点都是小弟未经深思熟虑的考虑写的,如果不对的地方请指点.... 抽奖系统 俗称 大转盘 或 九宫格抽奖功能,大转盘或九宫格的功能我就不说了,网上插件有很多,也很简单,这里就简单的讲解一下思路 1 ...

  7. PHP抽奖小程序/微信红包封面抽奖小程序/抽奖小程序开源源码

    PHP抽奖小程序源码,微信红包封面抽奖小程序,全开源.带流量主(需要自行替换代码),独立后台,亲测完美可用. 下载 PHP抽奖小程序/微信红包封面抽奖小程序/抽奖小程序开源源码 亲测截图:

  8. python抽奖游戏_利用Python写一个抽奖程序,解密游戏内抽奖的秘密

    原标题:利用Python写一个抽奖程序,解密游戏内抽奖的秘密 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客 ...

  9. 写出一个抽奖页面,有200个人参加抽奖

    写出一个抽奖页面 有200个人参加抽奖,每次抽出一个人,不能重复,必须每个人都要抽中奖 前面10次抽奖要选中固定的10个人,每次就从这10人中随机抽取一人,不能重复 从第11次开始就从剩余的190人当 ...

最新文章

  1. [Android]Android端ORM框架——RapidORM(v1.0)
  2. qt linux 添加库文件路径,linux下qt使用第三方库的那些事
  3. 这就是库克的重大计划?英特尔新CEO帕特誓言:CPU必须要比苹果好!
  4. put url带参数_一道腾讯面试题:如何快速判断某 URL 是否在 20 亿的网址 URL 集合中?...
  5. jsch 长连接_广濑连接器DF13
  6. Android自带类实现语音合成
  7. Java - 多线程Callable、Executors、Future
  8. relocation R_X86_64_PC32 against symbol ff_pw_9 can not be used when making a shared object
  9. 大连大学计算机专业就业前景怎么样,大连大学有哪些优势专业?它就业率高吗?考生们快看看吧!...
  10. Java EE入门教程系列第二章JSP(一)——第一个JSP程序
  11. 小红书4大主要人群的消费特征,你占了几个?
  12. 222Echarts - 3D 地球(Globe Displacement)
  13. MySQL高可用之主备同步:电脑安装java步骤
  14. 浅谈用户行为分析(一)
  15. 电磁兼容入门篇之辐射发射(辐射骚扰)试验
  16. 1.移动机器人发展现状
  17. 2021全新改版影视app系统源码(全开源)
  18. mkv视频文件怎么转成mp4,这3个方法很好用
  19. java导出Excel增加下拉框选项,解决小数据量和大数据量下拉框选项的问题
  20. java获取到的引号quot;会转换成amp;quot;问题

热门文章

  1. 警惕谷歌新形式的垄断
  2. windows 版 arm-elf-gcc(转)
  3. ACF:让控制台程序变得更为简单
  4. 方正魏新:我们走的产业路线比联想高端
  5. OpenCv霍夫变换与RANSAC检测圆形
  6. 论文笔记:Image Caption(Show and Tell)
  7. 雅马哈发电机换机油教程_奥迪老A4B7 EA113 1.8T发动机严重烧机油大修彻底解决
  8. 语音控制 python_用Python编程实现语音控制电脑
  9. ad策略下发_组策略--下发文件到计算机
  10. logback的简单使用