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 的 like 问题,超强毕杀记!!!
Jan 18 PHP
PHP fopen 读取带中文URL地址的一点见解
Sep 25 PHP
php使用curl模拟登录后采集页面的例子
Nov 04 PHP
微信公众平台天气预报功能开发
Jul 06 PHP
PHP闭包实例解析
Sep 08 PHP
php使用array_search函数实现数组查找的方法
Jun 12 PHP
PHP中static关键字以及与self关键字的区别
Jul 01 PHP
使用symfony命令创建项目的方法
Mar 17 PHP
PHP 访问数据库配置通用方法(json)
May 20 PHP
Ajax+PHP实现的分类列表框功能示例
Feb 11 PHP
PHP实现带进度条的Ajax文件上传功能示例
Jul 02 PHP
PHP实现的AES 128位加密算法示例
Sep 16 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中的unset究竟会不会释放内存
2013/07/18 PHP
php中header跳转使用include包含解决参数丢失问题
2015/05/08 PHP
php通过前序遍历树实现无需递归的无限极分类
2015/07/10 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
php实现websocket实时消息推送
2018/03/30 PHP
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
2013/01/27 Javascript
原生JS实现加入收藏夹的代码
2013/10/24 Javascript
jQuery消息提示框插件Tipso
2015/05/04 Javascript
分享10个优化代码的CSS和JavaScript工具
2016/05/11 Javascript
去除字符串左右两边的空格(实现代码)
2016/05/12 Javascript
jQuery获取单击节点对象的方法
2016/06/02 Javascript
Vue2.0 vue-source jsonp 跨域请求
2017/08/04 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
2019/09/17 Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
2019/11/01 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
python实现批量获取指定文件夹下的所有文件的厂商信息
2014/09/28 Python
详解Python3的TFTP文件传输
2018/06/26 Python
在PyCharm导航区中打开多个Project的关闭方法
2019/01/17 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
Python while true实现爬虫定时任务
2020/06/08 Python
利用Python实现斐波那契数列的方法实例
2020/07/26 Python
python入门教程之基本算术运算符
2020/11/13 Python
Java中实现多态的机制
2015/08/09 面试题
在SQL Server中创建数据库主要有那种方式
2013/09/10 面试题
大三预备党员入党思想汇报
2014/01/08 职场文书
先进集体获奖感言
2014/02/13 职场文书
环保建议书500字
2014/05/14 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
个人借条范本
2015/05/25 职场文书
用Python实现一个打字速度测试工具来测试你的手速
2021/05/28 Python
梳理总结Python开发中需要摒弃的18个坏习惯
2022/01/22 Python