用php制作中奖系统,基于PHP随机抽奖小程序,很简单!

本文介绍了一个使用PHP编写的随机抽奖小程序,通过调整每个奖项的概率并进行累加,确定奖品区间,然后随机生成一个数来决定获奖结果。程序允许在前端隐藏某些奖项,即使在代码中设置为不可获得。此外,提供了将数据存储在数据库中的可能性,并可以根据需求在后台设置奖项和概率。
摘要由CSDN通过智能技术生成

原标题:基于PHP随机抽奖小程序,很简单!

文章来自于:博客

网址:https://blog.csdn.net/shaolong1013/article/details/78763057

一个抽奖小程序,概论可控,也可某个奖品在前端显示,而程序中根本不可能获得!把所有的概率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]);

$prize 和 $prizeList 起初也可以先存在数据表里,如果有后台的,可以分别设置。返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值