源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

php 中奖概率算法实现代码

  • 时间:2021-10-23 07:28 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要: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)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部