php9宫格抽奖程序_基于PHP实现简单的随机抽奖小程序

这篇博客分享了一个基于PHP的9宫格抽奖程序实现,通过调整每个奖项的概率并确保总概率为100%,随机生成一个数字,确定获奖区间,从而实现抽奖功能。示例代码展示了如何创建奖品列表并进行抽奖操作。
摘要由CSDN通过智能技术生成

一个抽奖小程序,概论可控,也可某个奖品在前端显示,而程序中根本不可能获得!把所有的概率x10后相加起来,新数组中每项的值等于它前几个的和加上它本身。

然后随即生成一个0到最大数之间的一个数,通过循环查看它属于那个区间,返回该区间的key。

代码如下

$prize = array(

1 => 3.5, //3.5%机率

2 => 2.5,

3 => 6,

4 => 2,

5 => 42, //42%机率

6 => 36,

7 => 2,

8 => 4,

9 => 2

);

//最后确认相加等于100

$prizeList = array(

1 => array('小仙子'),

2 => array('5Q币'),

3 => array('38888游戏币'),

4 => array('88888游戏币'),

5 => array('谢谢参与!'),

6 => array('欢迎下次再来!'),

7 => array('10Q币'),

8 => array('888银元宝(绑定)'),

9 => array('随机高级坐骑(绑定)')

);

//unset($prize[7]); 直接把10Q这个奖品去掉

$times = 10;

$max = 0;

foreach ($prize as $k => $v)

{

$max = $v * $times + $max;

$row['v'] = $max;

$row['k'] = $k;

$prizeZone[] = $row;

}

$max--; //临界值

$rand = mt_rand(0, $max);

$zone = 1;

foreach ($prizeZone as $k => $v)

{

if ($rand >= $v['v'])

{

if ($rand >= $prizeZone[$k + 1]['v'])

{

continue;

}

else

{

$zone = $prizeZone[$k + 1]['k'];

break;

}

}

$zone = $v['k'];

break;

}

print_r($prizeList[$zone][0]);

基于php实现简单的抽奖小程序代码就给大家写这么多,不过都是核心代码,希望对大家学习工作有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值