今天遇到这样的一个问题  封装一个 抽奖概率函数 思前想后去网上找点资料吧,而且不止一种方法 这种我感觉还是比较容易的 还是那句话 实现功能的思路不止一种 代码也不止一种。

function get_rand($proArr) {

$result = '';

//概率数组的总概率精度

$proSum = array_sum($proArr);

//概率数组循环

foreach ($proArr as $key => $proCur) {

$randNum = mt_rand(1, $proSum);

if ($randNum <= $proCur) {

$result = $key;

break;

} else {

$proSum -= $proCur;

}

}

unset ($proArr);

return $result;

}

$prize_arr = array(

'0' => array('id'=>1,'prize'=>'平板电脑','v'=>0.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),

);

foreach ($prize_arr as $key => $val) {

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

}

$rid = get_rand($arr); //根据概率获取奖项id

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

unset($prize_arr[$rid-1]); //将中奖项从数组中剔除,剩下未中奖项

shuffle($prize_arr); //打乱数组顺序

for($i=0;$i

$pr[] = $prize_arr[$i]['prize'];

}

$res['no'] = $pr;

echo json_encode($res,JSON_UNESCAPED_UNICODE);

以上这篇php简单中奖算法(实例)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

php写彩票中奖代码,php简单中奖算法(实例)相关推荐

  1. python线性回归算法简介_Python实现的简单线性回归算法实例分析

    本文实例讲述了Python实现的简单线性回归算法.分享给大家供大家参考,具体如下: 用python实现R的线性模型(lm)中一元线性回归的简单方法,使用R的women示例数据,R的运行结果: > ...

  2. 用php制作中奖系统,php简单中奖算法(实例)

    今天遇到这样的一个问题  封装一个 抽奖概率函数 思前想后去网上找点资料吧,而且不止一种方法 这种我感觉还是比较容易的 还是那句话 实现功能的思路不止一种 代码也不止一种. function get_ ...

  3. python 线性回归函数_Python实现的简单线性回归算法实例分析

    本文实例讲述了Python实现的简单线性回归算法.分享给大家供大家参考,具体如下: 用python实现R的线性模型(lm)中一元线性回归的简单方法,使用R的women示例数据,R的运行结果: > ...

  4. python中回归分析的算法_Python实现的简单线性回归算法实例分析

    本文实例讲述了Python实现的简单线性回归算法.分享给大家供大家参考,具体如下: 用python实现R的线性模型(lm)中一元线性回归的简单方法,使用R的women示例数据,R的运行结果:> ...

  5. python购物车代码_python简单商城购物车实例代码

    本文为大家分享一个简单商城购物车的python代码,供大家参考,具体内容如下 要求: 1.写一段商城程购物车序的代码 2.用列表把商城的商品清单存储下来,存到列表 shopping_mail 3.购物 ...

  6. 高阶函数——让代码更简单,内含实例

    本文中使用了箭头函数,若无了解可以查看

  7. 复习Java第一个项目学生信息管理系统 04(权限管理和动态挂菜单功能) python简单爬数据实例Java面试题三次握手和四次挥手生活【记录一个咸鱼大学生三个月的奋进生活】016

    记录一个咸鱼大学生三个月的奋进生活016 复习Java(学生信息管理系统04权限管理和动态挂菜单功能) 改写MainFrame的构造方法 新增LoginFrame的验证登录是否成功的代码 新增Logi ...

  8. php写彩票中奖代码,php实现自定义中奖项数和概率的抽奖函数示例

    本文实例讲述了php实现自定义中奖项数和概率的抽奖函数.分享给大家供大家参考,具体如下: /* * 一个抽奖类,精确到万分之一 * 三个步骤:1.接受一个中奖概率数组;2.接受一个抽奖种子;3.返回中 ...

  9. 要写好业务代码,也没这么简单!

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:https://blog.csdn.net/new_com/article/details/108399421 为什么要写好业 ...

最新文章

  1. 220V电容启动交流电机
  2. mysql时间戳和日期转换
  3. DirectX11 With Windows SDK--27 计算着色器:双调排序
  4. java groovyshell_在java中使用groovy怎么搞
  5. 千寻的计算机字符,转义字符变量与赋值
  6. 消息中间件Kafka与RabbitMQ谁更胜一筹?
  7. 纹理窗口Qt+OpenGL之纹理贴图
  8. 在WPF里面显示DIB图片格式的图片
  9. 剑指offer面试题[54]-表示数值的字符串
  10. 浅谈 iOS设计之多视图—模态视图的基本操作
  11. chrome浏览器离线安装包下载地址
  12. 项目设计报告可行性分析
  13. 安装SQL server需要重启计算机,解决安装sql server 需要重启问题
  14. 阿里oss服务端签名后直传
  15. 近景摄影测量空间后方交会python
  16. 简单的个人介绍网页【附代码】
  17. php 把ppt转pdf文件大小,ppt转换成pdf 怎么将ppt文件批量转换为pdf文件?ppt高质量转换pdf的方法...
  18. 七、Selenium模拟浏览器
  19. 《初级会计实务》考试学习分享之第八章 ——政府会计基础【考试大纲】
  20. html 表单提交 地址栏 显示=%cc%ed%bc%d3 ,html--表单(示例代码)

热门文章

  1. RTX51 tiny系统容易混淆的问题
  2. 如何给文件批量重命名?
  3. OpenGL教程翻译 第二十二课 使用Assimp加载模型
  4. 【Solr】——搜索引擎的部署及使用
  5. Go 语言是互联网时代的 C 语言?
  6. 将腾讯视频Qlv格式转为MP4格式(亲测可用)
  7. [kuangbin带你飞]专题1
  8. 篮球数据API接口 - 【即时指数1】API调用示例代码
  9. css3 skew变形
  10. 2022年成都市中等职业学校师生技能大赛【真题】