php 中奖概率算法实现代码
实现代码:
<?php
header("Content-type: text/html; charset=utf-8");
/**
*php 中奖概率算法
*
*/
function open_kj( $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+50+100+200)
$jp = array();
$jp[] = array( 'gl' => 010 , 'title' => '一等奖');
$jp[] = array( 'gl' => 050 , 'title' => '二等奖');
$jp[] = array( 'gl' => 100 , 'title' => '三等奖');
$jp[] = array( 'gl' => 200 , 'title' => '未中奖');
//调用 中奖概率函数
//返回中奖 信息数组 例如:array( 'gl' => 10 , 'title' => '一等奖');
$zj = open_kj( $jp );
//输出数组
xc($zj);
function xc($array)
{
echo "<pre>";
print_r($array);
echo "</pre>";
}
?>转载请注明来源地址:小川编程 » https://www.youhutong.com/index.php/article/index/131.html
1、本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,下载后请24小时内删除。
2、本站所有内容均不能保证其完整性,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用
3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意
