当前位置:网站首页>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];
有问题欢迎联系我哦!
边栏推荐
- What is Ba? How about Ba? What is the relationship between Ba and Bi?
- Huawei and Xiaomi "copy each other"
- 哈夫曼树基本概念
- 2022夏每日一题(一)
- QT 使用QToolTip 鼠标放上去显示文字时会把按钮的图片也显示了、修改提示文字样式
- About Confidence Intervals
- 海思万能平台搭建:颜色空间转换YUV2RGB
- 1.19.11.SQL客户端、启动SQL客户端、执行SQL查询、环境配置文件、重启策略、自定义函数(User-defined Functions)、构造函数参数
- 学习使用js把两个对象合并成一个对象的方法Object.assign()
- Kalman filter-1
猜你喜欢
23. (ArcGIS API for JS) ArcGIS API for JS ellipse collection (sketchviewmodel)
Ubuntu 20 installation des enregistrements redisjson
19. (ArcGIS API for JS) ArcGIS API for JS line acquisition (sketchviewmodel)
What is the experience of maintaining Wanxing open source vector database
Search of linear table
Confirm the future development route! Digital economy, digital transformation, data This meeting is very important
web服务性能监控方案
About Confidence Intervals
Kbone与小程序跨端开发的一些思考
机器学习笔记 - 使用机器学习进行鸟类物种分类
随机推荐
CMB's written test - quantitative relationship
PHP lightweight Movie Video Search Player source code
Introduction to opensea platform developed by NFT trading platform (I)
【安全攻防】序列化与反序列,你了解多少?
Force buckle ----- path sum III
本机mysql
Class常量池与运行时常量池
.net中 接口可以有默认实现了
Enter the rough outline of the URL question (continuously updated)
再AD 的 界面顶部(菜单栏)创建常用的快捷图标
Implementation steps of docker deploying mysql8
如何检测mysql代码运行是否出现死锁+binlog查看
Ggplot facet detail adjustment summary
What is the experience of maintaining Wanxing open source vector database
使用 BR 备份 TiDB 集群到 GCS
Que savez - vous de la sérialisation et de l'anti - séquence?
复杂因子计算优化案例:深度不平衡、买卖压力指标、波动率计算
Huawei and Xiaomi "copy each other"
Vernacular high concurrency (2)
About Tolerance Intervals