php 中奖概率算法实现代码

2025-05-29 0 31

实现代码:

?

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
<?php

/**

*php 中奖概率算法

*

*/

function get_zj( $jp ,$glname = 'gl'){

$sum = 0;

foreach($jp as $k =>$v ){

$sum += $v[$glname];

}

$R = rand(1,$sum);//获取随机数

foreach( $jp as $k => $v){

if( $R <= $v[$glname] ){

return $v;

}

$R = $R - $v[$glname] ;

}

}

//使用方法

//模拟一个从数据库中读取的 中奖配置 gl 为 中奖的概率

//例如array( 'gl' => 10 , 'title' => '一等奖');的中奖概率 = 10 / (10+20+30+40)

$jp = array();

$jp[] = array( 'gl' => 10 , 'title' => '一等奖');

$jp[] = array( 'gl' => 20 , 'title' => '二等奖');

$jp[] = array( 'gl' => 30 , 'title' => '三等奖');

$jp[] = array( 'gl' => 40 , 'title' => '未中奖');

//调用 中奖概率函数

//返回中奖 信息数组 例如:array( 'gl' => 10 , 'title' => '一等奖');

$zj = get_zj( $jp );

//输出数组

var_dump($zj);

使用方法
模拟一个从数据库中读取的 中奖配置 gl 为 中奖的概率
例如array( 'gl' => 10 , 'title' => '一等奖');的中奖概率 = 10 / (10+20+30+40)
$jp = array();
$jp[] = array( 'gl' => 10 , 'title' => '一等奖');
$jp[] = array( 'gl' => 20 , 'title' => '二等奖');
$jp[] = array( 'gl' => 30 , 'title' => '三等奖');
$jp[] = array( 'gl' => 40 , 'title' => '未中奖');

调用 中奖概率函数
返回中奖 信息数组 例如:array( 'gl' => 10 , 'title' => '一等奖');

收藏 (0) 打赏

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

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

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

快网idc优惠网 建站教程 php 中奖概率算法实现代码 https://www.kuaiidc.com/95303.html

相关文章

发表评论
暂无评论