php开奖程序,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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值