阅读目录
抽奖功能 1
- 抽奖功能 1
- 抽奖功能 2
最近做的小程序有一个抽奖功能,这里记录下实现抽奖功能的具体流程
前提:
有一组奖品数据如下
id奖品(prize)概率(rate)数量(num)已抽数量(prize_num)1一等奖10%1002二等奖15%2003三等奖35%500根据如上实现抽奖如下($prizes表示上面表格数据)
public function promise()
{
$prizes = [
[
'id' => 1,
'prize' => '一等奖',
'rate' => '0.1',
'num' => '10',
'prize_num' => '0',
],
[
'id' => 2,
'prize' => '二等奖',
'rate' => '0.15',
'num' => '20',
'prize_num' => '0',
],
[
'id' => 3,
'prize' => '三等奖',
'rate' => '0.3',
'num' => '50',
'prize_num' => '0',
],
];
//进行抽奖
$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 $value) {
$randNum = mt_rand(1, $countSum);
if ($randNum
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?