程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php中如何計算抽獎的概率

php中如何計算抽獎的概率

編輯:PHP綜合
<?php   
      
    //計算抽獎的概率  
    function get_rand($proArr) {     
        $result = '';      
        $proSum = array_sum($proArr);       
        foreach ($proArr as $key => $proCur) {     
            $randNum = mt_rand(1, $proSum);     
            if ($randNum <= $proCur) {     
                $result = $key;     
                break;     
            } else {     
                $proSum -= $proCur;     
            }           
        }     
        unset ($proArr);      
        return $result;     
    }     
    $prize_arr = array(     
        '0' => array('id'=>1,'prize'=>'1000000514','v'=>2),     
        '1' => array('id'=>2,'prize'=>'1000000513','v'=>5),     
        '2' => array('id'=>3,'prize'=>'1000000512','v'=>13),     
        '3' => array('id'=>4,'prize'=>'1000000511','v'=>15),     
        '4' => array('id'=>5,'prize'=>'1000000510','v'=>25),     
        '5' => array('id'=>6,'prize'=>'1000000509','v'=>30),    
        '6' => array('id'=>7,'prize'=>'1000000508','v'=>10),   
    );     
    foreach ($prize_arr as $key => $val) {     
        $arr[$val['id']] = $val['v'];     
    }     
    $rid = get_rand($arr);    
    $res['yes'] = $prize_arr[$rid-1]['prize'];   
    unset($prize_arr[$rid-1]);      
    shuffle($prize_arr);    
    $prize_arrcount = count($prize_arr);   
    for($i=0;$i<$prize_arrcount;$i++){     
        $pr[] = $prize_arr[$i]['prize'];     
    }     
    $res['no'] = $pr;     
    //抽獎結果  
    $ro = $res['yes'];  
    print_r($ro);  
              
      
      
?>

查看本欄目

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved