php 实现简单抽奖
2017-11-08 10:47
197 查看
首先有一组数据,里面有中奖的物品和概率
$base_data = [ ['name'=>'特等奖','num'=>1], ['name'=>'一等奖','num'=>5], ['name'=>'二等奖','num'=>20], ['name'=>'三等奖','num'=>50], ['name'=>'真遗憾','num'=>100] ];
两种实现方法
//根据num的个数生成一个数组,并合并 //打乱数组,然后随机返回一个元素 //计算概率1 function data($arr){ $return = []; foreach($arr as $key => $val){ for($i = 0; $i < $val['num']; $i++){ $return[] = $val['name']; } } shuffle($return); return $return[array_rand($return)]; } $data = data($base_data); var_dump($data);
//计算概率2 function get_rand($arr){ $sum = 0; $result = ''; foreach($arr as $v){ $sum += $v['num']; } foreach($arr as $val){ $rand = mt_rand(1, $sum); if($rand <= $val['num']){ $result = $val['name']; break; }else{ $sum -= $val['num']; } } return $result; }
相关文章推荐
- PHP大转盘抽奖简单实现例子
- PHP使用随机数实现简单的概率抽奖
- jQuery幸运大转盘_jQuery+PHP抽奖程序的简单实现
- 基于PHP实现简单的随机抽奖小程序
- 基于PHP实现简单的随机抽奖小程序
- PHP实现MVC开发: 一个简单的MVC
- php下实现伪 url 的超简单方法[转]
- PHP实现冒泡排序的简单实例
- php实现当前页面点击下载文件的简单方法
- 用php简单实现小计算器
- PHP实现数据分页显示的简单实例
- 一个简单的php实现的MySQL数据浏览器
- php 获取今天、昨天、明天时间戳的简单实现方法
- PHP实现简单聊天室(附源码)第1/2页
- PHP简单读取PDF页数的实现方法
- PHP实现MVC开发: 一个简单的MVC
- PHP实现的简单在线计算器功能示例
- PHP简单实现数字分页功能示例
- PHP简单双向队列实现
- PHP实现简单高精度的求PI方法