php jq实现抽奖,php 实现抽奖功能
最近做的小程序有一个抽奖功能,这里记录下实现抽奖功能的具体流程
前提:
有一组奖品数据如下
id 奖品(prize) 概率(rate) 数量(num) 已抽数量(prize_num)
1 一等奖 10% 10 0
2 二等奖 15% 20 0
3 三等奖 35% 50 0
根据如上实现抽奖如下($prizes表示上面表格数据)
//进行抽奖
$data = [];
foreach ($prizes as $prize) {
if (($prize['num'] - $prize['prize_num']) > 0) {
$data[$prize['id']] = 100 * ($prize['rate']);
}
};
//获取所有奖品的总概率
$sum = array_sum($data);
$countSum = 100;
if ($sum < $countSum) {
$data[0] = $countSum - $sum;//不满100%,表示没有抽取到奖品
}
$result = 0;
//概率数组总精度
//概率数组循环
foreach ($data as $key => $value) {
$randNum = mt_rand(1, $countSum);
if ($randNum <= $value) {
$result = $key;
break;
} else {
$countSum -= $value;
}
}
unset($arr);
echo $result;//抽到的ID值,0表示没有抽到奖品
根据如上就可以实现抽奖功能
作者:huaweichenai
php jq实现抽奖,php 实现抽奖功能相关推荐
- java抽奖_Java实现抽奖功能
需求简介 新项目有一个类似王者荣耀抽奖的功能:抽取花费积分,积累幸运值,每阶段幸运值可以抽取到不同的奖品,幸运值集满时,必得稀有道具 功能实现预期:建立一个抽奖池(抽奖池级别根据type区分),奖品在 ...
- php jq实现抽奖,jquery实现抽奖系统
闲来无事做了一个抽奖的系统: 抽奖系统 #box{ width:450px; margin:0 auto; } .show{ width:100px; height:55px; text-align: ...
- html+抽奖游戏,九宫格抽奖HTML+JS版
div{ margin: 100px auto 0px; // 居中 width:500px; height:250px; border:3px solid black; // 边框 } li{ wi ...
- java 9宫格抽奖_九宫格抽奖HTML+JS版
div{ margin: 100px auto 0px; // 居中 width:500px; height:250px; border:3px solid black; // 边框 } li{ wi ...
- 摇一摇抽奖 php,利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖
摇一摇JS脚本逻辑: 接下来是移动端JS脚本逻辑的实现,摇一摇的实现需借助html5新增的devicemotion事件,获取设备在位置和方向上的改变速度的相关信息,该事件的基本使用如下:if (win ...
- 苹果手机html5摇一摇游戏戏码,利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖,html5devicemotion...
利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖,html5devicemotion 摇一摇JS脚本逻辑: 接下来是移动端JS脚本逻辑的实现,摇一摇的实现需借助html5新增的 ...
- 你遇到过的测试难题(4)活动抽奖转盘九宫格抽奖测试用例测试点
你遇到过的测试难题(4)关于抽奖活动概率测试 业务背景 测试计划 测试准备 测试关注点 测试总结 时间测试: 中奖记录: 中奖概率: 性能测试: 安全性测试: 时间场景: 动效场景: 概率场景: 抽奖 ...
- jquery php 抽奖,jquery实现抽奖系统
闲来无事做了一个抽奖的系统: 抽奖系统 #box{ width:450px; margin:0 auto; } .show{ width:100px; height:55px; text-align: ...
- PHP抽奖小程序/微信红包封面抽奖小程序/抽奖小程序开源源码
PHP抽奖小程序源码,微信红包封面抽奖小程序,全开源.带流量主(需要自行替换代码),独立后台,亲测完美可用. 下载 PHP抽奖小程序/微信红包封面抽奖小程序/抽奖小程序开源源码 亲测截图:
- 天天福利抽奖-JAVA概率抽奖
搞了个抽奖活动,中大奖中的简直爽歪歪? 不过还是要偷偷告诉你:抽奖是有内幕的~~~(不能让领导看到,会被打?) 总在各种app上看到转盘抽奖,翻牌抽奖,每次抱着中最大奖的心,换来的都是未中奖的提示,可 ...
最新文章
- 受益一生的15个学习习惯
- mysql5.7 too many_Mysql 错误too many connections解决方案
- Burrard 大桥
- WM有约II(二):持续改进
- promise中调用ajax
- ubuntu16.04 Linux+xfce4的文件夹出现两种背景颜色+文件夹中右键打开终端失灵了.
- 程序员职业生涯的11个阶段程序人生
- Redis 持久化——AOF
- centos7 安装mysql_Centos7安装最新版本的MySQL
- GDB调试带参数argc argv的程序
- 提到强化学习只知道AlphaGo?其实,RL在工业界还有这些应用
- Spring学习之AOP
- Mac隐藏技巧:右键点按,在访达中玩出点新花样
- 分销系统之项目架构(第一篇)
- 淘宝运营 DSR评分太低的影响 用补单的方法具体操作步骤,提高DSR评分
- linux中文是楷体,Linux中安装宋体楷体
- 波士顿学院计算机科学专业,波士顿学院计算机专业好吗?_托普仕留学
- c语言程序设计题目湖南大学,湖南大学C语言期末考试样卷
- Java实现 四舍五入取整到百位 四舍五入取整到千位 数字取整到千位 数字取值到千位 数字取整到百位 数字取值到百位
- 5.spring-boot>redis配置使用
热门文章
- 工作中遇到的问题合集
- 计算机右键无法新建excel2007,电脑桌面右键新建菜单中没有Word/Excel/PPT等文档怎么办?...
- scandir、direct的用法
- 建模simulink - xpc函数参数处理
- 未来生活进行时: 互联网”进化论”——达尔文与人工智能的故事?!
- 如何查看.mdf文件数据库版本信息
- 百度网盘NDM高速下载
- 【分享】git clone 提示 unable to access ‘http://gitlab.xxxx/gateway.git/‘: Could not resolve host xxxx
- Macbook Pro 201 装Win10 声卡_MacBook+BMPCC+康佳PS300共同打造事半功倍视频制作流
- 终于可以在html上自动显示汉字拼音了