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 相关文章推荐
php,ajax实现分页
Mar 27 PHP
轻松修复Discuz!数据库
May 03 PHP
php中的数组操作函数整理
Aug 18 PHP
关于php内存不够用的快速解决方法
Oct 26 PHP
用PHP来计算某个目录大小的方法
Apr 01 PHP
ThinkPHP之M方法实例详解
Jun 20 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
Nov 05 PHP
Opcache导致php-fpm崩溃nginx返回502
Mar 02 PHP
根据key删除数组中指定的元素实现方法
Mar 02 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
Aug 17 PHP
PHP实现微信退款功能
Oct 02 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 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
WINDOWS服务器安装多套PHP的另类解决方案
2006/10/09 PHP
PHP_MySQL教程-第一天
2007/03/18 PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
2014/07/04 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
js中生成map对象的方法
2014/01/09 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
使用Javascript实现选择下拉菜单互移并排序
2016/02/23 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
Angularjs中使用layDate日期控件示例
2017/01/11 Javascript
详解Vue方法与事件
2017/03/09 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
2017/05/17 Javascript
React-Native中props具体使用详解
2017/09/04 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
基于Python和Scikit-Learn的机器学习探索
2017/10/16 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
Django 重写用户模型的实现
2019/07/29 Python
如何关掉pycharm中的python console(图解)
2019/10/31 Python
python实现字典嵌套列表取值
2019/12/16 Python
基于python实现FTP文件上传与下载操作(ftp&amp;sftp协议)
2020/04/01 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
python 8种必备的gui库
2020/08/27 Python
表单button的outline在firefox浏览器下的问题
2012/12/24 HTML / CSS
HTML5触摸事件实现移动端简易进度条的实现方法
2018/05/04 HTML / CSS
Bonprix法国:时尚、鞋子、家居
2020/12/29 全球购物
非常详细的C#面试题集
2016/07/13 面试题
疾病防治方案
2014/05/31 职场文书
党员干部对十八届四中全会的期盼
2014/10/17 职场文书
大客户经理岗位职责
2015/04/09 职场文书
2016年三八红旗手先进事迹材料
2016/02/26 职场文书
互联网的下一个风口:新的独角兽将诞生
2019/08/02 职场文书
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript
只用20行Python代码实现屏幕录制功能
2021/06/02 Python
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis
Python面向对象之内置函数相关知识总结
2021/06/24 Python