富贵资源网 Design By www.hznty.com
实现代码:
<?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' => '一等奖');
富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com
暂无评论...