当前位置:网站首页>PHP 实现根据概率抽奖
PHP 实现根据概率抽奖
2022-07-06 21:17:00 【指针再爱我一次】
一、思路
大概思路根据可能性向数组中填写多少个值,比如说30%的几率,就向数组中填入30个这个奖品的id
二、实现代码
$data = [
[
'id' => 1,
'name' => '谢谢惠顾',
'probability' => 80 // 抽奖概率
],
[
'id' => 2,
'name' => '10元现金',
'probability' => 18 // 抽奖概率
],
[
'id' => 3,
'name' => '100元现金',
'probability' => 2 // 抽奖概率
],
];
$list = [];
foreach ($data as $key=>$v){
$list = array_merge($list, array_fill(0, $v['probability'], $v['id']));//生成奖品数组
}
shuffle($list);//打乱数组顺序
$key = array_rand($list,1);//获取数组随机下标
// 返回奖品id, 后面可以根据奖品id实现具体其他业务
return $list[$key];
有问题欢迎联系我哦!
边栏推荐
猜你喜欢
Free PHP online decryption tool source code v1.2
[dpdk] dpdk sample source code analysis III: dpdk-l3fwd_ 001
It's too convenient. You can complete the code release and approval by nailing it!
Ubuntu20 installation redisjson record
Machine learning notes - bird species classification using machine learning
Arduino droplet detection
Baidu map JS development, open a blank, bmapgl is not defined, err_ FILE_ NOT_ FOUND
【knife-4j 快速搭建swagger】
哈夫曼树基本概念
web服务性能监控方案
随机推荐
VHDL implementation of arbitrary size matrix multiplication
[safe office and productivity application] Shanghai daoning provides you with onlyoffice download, trial and tutorial
Ubuntu20 installation redisjson record
链表面试常见题
Tflite model transformation and quantification
When QT uses qtooltip mouse to display text, the picture of the button will also be displayed and the prompt text style will be modified
OSCP工具之一: dirsearch用法大全
C task expansion method
PHP lightweight Movie Video Search Player source code
Kotlin Android environment construction
QT 使用QToolTip 鼠标放上去显示文字时会把按钮的图片也显示了、修改提示文字样式
自适应非欧表征广告检索系统AMCAD
Ubuntu 20 installation des enregistrements redisjson
机器学习笔记 - 使用机器学习进行鸟类物种分类
MySQL的索引
Hisilicon 3559 universal platform construction: RTSP real-time playback support
Optimization cases of complex factor calculation: deep imbalance, buying and selling pressure index, volatility calculation
25. (ArcGIS API for JS) ArcGIS API for JS line modification line editing (sketchviewmodel)
HW notes (II)
Native MySQL