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网页木马一枚 附PHP木马的防范方法
Oct 09 PHP
比较全面的PHP数组的使用方法小结
Sep 23 PHP
基于PHP创建Cookie数组的详解
Jul 03 PHP
php中hashtable实现示例分享
Feb 13 PHP
浅谈Eclipse PDT调试PHP程序
Jun 09 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
Aug 11 PHP
简单谈谈favicon
Jun 10 PHP
yii,CI,yaf框架+smarty模板使用方法
Dec 29 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
PHP实现提高SESSION响应速度的几种方法详解
Aug 09 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
Oct 08 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.ini中date.timezone设置分析
2011/07/29 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
基于jQuery的星级评分插件
2011/08/12 Javascript
如何获取JQUERY AJAX返回的JSON结果集实现代码
2012/12/10 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
jQuery$命名冲突怎么办如何解决
2014/01/16 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
2016/01/21 Javascript
JS结合bootstrap实现基本的增删改查功能
2016/07/22 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
JS解决position:sticky的兼容性问题的方法
2017/10/17 Javascript
JS实现左边列表移到到右边列表功能
2018/03/28 Javascript
vue组件实现可搜索下拉框扩展
2020/10/23 Javascript
微信小程序中this.data与this.setData的区别详解
2018/09/17 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
详解小程序如何避免多次点击,重复触发事件
2019/04/08 Javascript
vue实现文字加密功能
2019/09/27 Javascript
浅谈Vue SSR中的Bundle的具有使用
2019/11/21 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
微信小程序实现时间戳格式转换
2020/07/20 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
Numpy数组转置的两种实现方法
2018/04/17 Python
使用Django清空数据库并重新生成
2020/04/03 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
全球最大的服务市场:Fiverr
2017/01/03 全球购物
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
物流业务员岗位职责
2014/02/08 职场文书
《哪吒闹海》教学反思
2014/02/28 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
万能检讨书2000字
2014/10/17 职场文书
骆驼祥子读书笔记
2015/06/26 职场文书
pytorch 实现多个Dataloader同时训练
2021/05/29 Python
python APScheduler执行定时任务介绍
2022/04/19 Python
MyBatis在注解上使用动态SQL方式(@select使用if)
2022/07/07 Java/Android