PHP大转盘中奖概率算法实例


Posted in PHP onOctober 21, 2014

本文实例讲述了PHP大转盘中奖概率算法的实现方法,分享给大家供大家参考。具体如下:

大转盘是最近很多线上网动中一个比较有意思的东西了,下面我们就来看看这个大转盘中奖概率算法与例子,希望对各位有所帮助。

这是一个APP客户端有大转盘抽奖算法,具体如何抽奖当然在我们服务端实现了。下面和大家简单分享一下实现代码:

header("Content-type: text/html; charset=utf-8");

$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),

);

 

$actor = 100;

 

foreach ($prize_arr as $v) {

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

}

foreach ($arr as &$v) {

$v = $v*$actor;

}

asort($arr);

$sum = array_sum($arr);   //总概率

 

$rand = mt_rand(1,$sum);

 

$result = '';    //中奖产品id

 

foreach ($arr as $k => $x)

{

if($rand <= $x)

{

$result = $k;

break;

}

else

{

$rand -= $x;

}

}

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

print_r($res);

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
深入理解用mysql_fetch_row()以数组的形式返回查询结果
Jun 05 PHP
CodeIgniter框架URL路由总结
Sep 03 PHP
php用户注册时常用的检验函数实例总结
Dec 22 PHP
php使用curl出现Expect:100-continue解决方法
Mar 03 PHP
Java中final关键字详解
Aug 10 PHP
php验证码实现代码(3种)
Sep 07 PHP
php对文件夹进行相关操作(遍历、计算大小)
Nov 04 PHP
详解Window7 下开发php扩展
Dec 31 PHP
PHP正则表达式匹配替换与分割功能实例浅析
Feb 04 PHP
老生常谈PHP面向对象之命令模式(必看篇)
May 24 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
Centos7 Yum安装PHP7.2流程教程详解
Jul 02 PHP
PHP与MYSQL中UTF8编码的中文排序实例
Oct 21 #PHP
php cookie中点号(句号)自动转为下划线问题
Oct 21 #PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 #PHP
php时间戳格式化显示友好的时间函数分享
Oct 21 #PHP
ThinkPHP整合百度Ueditor图文教程
Oct 21 #PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 #PHP
php读取目录及子目录下所有文件名的方法
Oct 20 #PHP
You might like
php数组函数序列之rsort() - 对数组的元素值进行降序排序
2011/11/02 PHP
php获取指定范围内最接近数的方法
2015/06/02 PHP
解决微信授权回调页面域名只能设置一个的问题
2016/12/11 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
jquery html动态生成select标签出问题的解决方法
2013/11/20 Javascript
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
jQuery实用技巧必备(上)
2015/11/02 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
javascript省市区三级联动下拉框菜单实例演示
2015/11/29 Javascript
webpack写jquery插件的环境配置
2017/12/21 jQuery
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
VUE中使用HTTP库Axios方法详解
2020/02/05 Javascript
vue props 单项数据流实例分享
2020/02/16 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
python 装饰器功能以及函数参数使用介绍
2012/01/27 Python
Python正则表达式介绍
2012/08/06 Python
python机器学习库常用汇总
2017/11/15 Python
python+opencv轮廓检测代码解析
2018/01/05 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
搭建python django虚拟环境完整步骤详解
2019/07/08 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
django 取消csrf限制的实例
2020/03/13 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
HTML5 LocalStorage 本地存储刷新值还在
2017/03/10 HTML / CSS
英国家电直销:Appliances Direct
2016/09/22 全球购物
澳大利亚在线家具、灯饰和家居装饰店:LivingStyles
2018/11/20 全球购物
《忆江南》教学反思
2014/04/07 职场文书
个人作风纪律整顿整改措施
2014/10/25 职场文书
中标通知书范本
2015/04/17 职场文书
2015年教师党员个人总结
2015/11/24 职场文书
八年级历史教学反思
2016/02/19 职场文书
详解MySQL多版本并发控制机制(MVCC)源码
2021/06/23 MySQL
linux目录管理方法介绍
2022/06/01 Servers