基于PHP实现简单的随机抽奖小程序

2025-05-29 0 57

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

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

代码如下

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54
$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实现简单的抽奖小程序代码就给大家写这么多,不过都是核心代码,希望对大家学习工作有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 基于PHP实现简单的随机抽奖小程序 https://www.kuaiidc.com/99599.html

相关文章

发表评论
暂无评论