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_Flame(Version:Progress)的原代码
Oct 09 PHP
PHP 网页过期时间的控制代码
Jun 29 PHP
php cookie中点号(句号)自动转为下划线问题
Oct 21 PHP
smarty模板引擎中自定义函数的方法
Jan 22 PHP
php+mysql结合Ajax实现点赞功能完整实例
Jan 30 PHP
discuz图片顺序混乱解决方案
Jul 29 PHP
php给图片添加文字水印方法汇总
Aug 27 PHP
PHP图形操作之Jpgraph学习笔记
Dec 25 PHP
PHP文件缓存smarty模板应用实例分析
Feb 26 PHP
修改Laravel5.3中的路由文件与路径
Aug 10 PHP
PHP在线打包下载功能示例
Oct 15 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
Oct 09 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
用Flash图形化数据(二)
2006/10/09 PHP
php 静态变量的初始化
2009/11/15 PHP
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
PHP字符串word末字符实现大小写互换的方法
2014/11/10 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
php使用cookie实现记住登录状态
2015/04/27 PHP
thinkPHP框架乐观锁和悲观锁实例分析
2019/10/30 PHP
JavaScript 继承详解(三)
2009/07/13 Javascript
js单例模式的两种方案
2013/10/22 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
jQuery中even选择器的定义和用法
2014/12/23 Javascript
总结JavaScript中布尔操作符||与&amp;&amp;的使用技巧
2015/11/17 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
解析jQueryEasyUI的使用
2016/11/22 Javascript
AngularJS表格添加序号的方法
2017/03/03 Javascript
javascript深拷贝的原理与实现方法分析
2017/04/10 Javascript
Vue CL3 配置路径别名详解
2019/05/30 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
[05:15]2018年度CS GO社区贡献奖-完美盛典
2018/12/16 DOTA
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
Python测试网络连通性示例【基于ping】
2018/08/03 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
CSS3 清除浮动的方法示例
2018/06/01 HTML / CSS
CSS3 毛玻璃效果
2019/08/14 HTML / CSS
HTML5和CSS3实例教程总结(推荐)
2016/07/18 HTML / CSS
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
澳大利亚领先的优质葡萄酒拍卖会:Langton’s Fine Wines
2019/03/24 全球购物
Java编程面试题
2016/04/04 面试题
工程项目经理岗位职责
2013/12/15 职场文书
安全资金保障制度
2014/01/23 职场文书
网页美工求职信范文
2014/04/17 职场文书
篮球比赛拉拉队口号
2014/06/10 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
廉政党课工作报告案例
2019/06/21 职场文书