抽奖概率 php_php实现抽奖概率算法代码
本文主要介绍PHP编程实现计算抽奖概率算法,结合完整实例形式分析了php随机数运算相关操作技巧,需要的朋友可以参考下,希望能帮助到大家。
//计算抽奖的概率
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'=>2),
'1' => array('id'=>2,'prize'=>'数码相机','v'=>5),
'2' => array('id'=>3,'prize'=>'iPad','v'=>13),
'3' => array('id'=>4,'prize'=>'LED显示器','v'=>15),
'4' => array('id'=>5,'prize'=>'U盘','v'=>25),
'5' => array('id'=>6,'prize'=>'键盘','v'=>30),
'6' => array('id'=>7,'prize'=>'鼠标垫','v'=>10),
);
foreach ($prize_arr as $key => $val) {
$arr[$val['id']] = $val['v'];
}
$rid = get_rand($arr);
$res['yes'] = $prize_arr[$rid-1]['prize'];
unset($prize_arr[$rid-1]);
shuffle($prize_arr);
$prize_arrcount = count($prize_arr);
for($i=0;$i
$pr[] = $prize_arr[$i]['prize'];
}
$res['no'] = $pr;
//抽奖结果
$ro = $res['yes'];
print_r($ro);
?>
运行结果:
iPad
相关推荐:
有关抽奖概率的课程推荐8篇
刮刮卡,大转盘php抽奖概率算法
php 抽奖概率算法
抽奖概率 php_php实现抽奖概率算法代码相关推荐
- java抽奖random,java抽奖概率,java抽奖
java抽奖概率,java抽奖 Field Type Comment prize_name varchar(50) 奖品名称 total int(11) 数量 prizenum int(11) 奖品序 ...
- 圣斗士星矢游戏抽奖计算机怎么计算,圣斗士星矢手游抽奖概率是多少 抽奖概率公布[多图]...
圣斗士星矢手游抽奖可以获得各种角色,有几率可以抽出价值非常高的角色,不过几率比较低,下面安族小编给大家介绍一下抽奖概率公布. 圣斗士星矢卡片介绍 卡片,有橙色的.紫色的.和蓝色的三种等级卡片,然后他的 ...
- 抽奖概率 php_php抽奖概率算法
/* *算法学习自百度.只是学习和记录 */ header("Content-type:text/html;charset=utf-8"); //1.设置奖项,id是奖项id,na ...
- php 大转盘抽奖概率 角度,在线抽奖大转盘和概率计算
html> 抽奖效果演示 .rotary { position: relative; width: 854px; height: 504px; margin: 0 auto; backgroun ...
- java中奖率算法_抽奖概率-三种算法
一.逢"几"中奖 逢"几"中奖,即通过预估抽奖人数和奖品数来判断,"几"=(抽奖人数/奖品数)*N.这是一种最简单抽奖算法,适合抽奖人数众多 ...
- java的概率的程序_java实现一个抽奖概率类
在一些项目需求中,可能会遇到抽奖问题,如提供一系列奖品及获奖概率,要求根据概率返回每次抽到的奖品.以下是本人在实际项目中写的一个抽奖工具类,与大家共同分享: import java.util.Arra ...
- 前端js计算抽奖概率
很好用的js计算抽奖概率的公式 let weightList = [20, 8, 30, 50, 80, 10] // 权重数组 weightList = [...weightList, 0, 0] ...
- 手机抽奖页面代码html,html5大转盘抽奖支持手机转盘抽奖代码
特效描述:html5 大转盘抽奖 支持手机 转盘抽奖代码.html5转盘,html5抽奖,手机转盘,手机抽奖,手机转盘抽奖,可配置奖品抽奖. 代码结构 1. 引入CSS 2. 引入JS 3. HTML ...
- php9宫格抽奖程序_PHP实现抽奖功能实例代码
在项目开发中经常会遇到花钱抽奖类型的需求.但是老板总是担心用户用小钱抽到大奖.这样会导致项目亏损.下边这段代码可以有效制止抽奖项目亏钱. 个人奖池: 语言:thinkphp redis mysql 表 ...
- c# 如何把一个1000数字随机分成10个数字 总和1000 加抽奖概率
int a = 1000;int[] arr = new int[9];Random rand = new Random(DateTime.Now.Millisecond);for (int i = ...
最新文章
- 【必须收藏】那些酷炫的深度学习网络图怎么画出来的?
- 题目 1004: [递归]母牛的故事
- 如何利用tcpdump抓包?
- android 半圆滚动菜单,自定义控件:实现半圆滚动菜单效果
- get_class 方法
- 为什么基于接口而非实现编程?
- 面向对象软件设计原则
- linux实训项目有哪些内容,实训项目2__Linux基本命令(带参考答案)
- 第四章 基于QT和DCMTK的Dicom 图像浏览器---检查文件夹下Dicom序列个数
- SecureCRT8.1下载+注册机+破解教程
- 智能客服问题相似度算法设计——第三届魔镜杯大赛第12名解决方案
- 基因编辑技术在农业中的应用综述
- 聊天记录怎么录视频 微信聊天记录屏幕录制
- Gradle的概念和理解.
- UE学习笔记01(3月)
- java is setter_为什么java需要getter/setter来获取私有属性?
- 从实验室跃进产业,腾讯AI是如何向to B进化的?
- 2019/12/24论文小组交流
- 压缩感知的实现——图像重建(含matlab代码)
- NTSTATUS类型返回值及含义
热门文章
- mysql 超卖_MYSQL处理高并发,防止库存超卖(图解)
- js中的四种常用数组排序方法(冒泡、选择、插入、快排)及sort排序
- ie10服务器运行失败,win7系统下无法安装ie10浏览器如何解决?win7系统下无法安装ie10浏览器三种解决方法...
- docker容器获取宿主机IP
- 51Ditu开放了地图服务API接口
- linux怎么加块硬盘,如何在Linux下添加第二块scsi硬盘?
- 兴业银行紧急核查国美贷款
- python函数_列表入门
- 可视化看板:基于电子竞技行业数据大数据可视化分析(详细代码及图文说明)
- Linux操作学习笔记(CentOS7)