Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > php入门教程

php 中奖概率算法实现代码

来源:中文源码网    浏览:131 次    日期:2024-05-11 22:38:41
【下载文档:  php 中奖概率算法实现代码.txt 】


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' => '一等奖');

相关内容