php中獎概率算法,可用於刮刮卡,大轉盤等抽獎算法

php中獎概率算法,可用於刮刮卡,大轉盤等抽獎算法。用法很簡單,代碼裡有詳細註釋說明,一看就懂

 $proCur) { 
        $randNum = mt_rand(1, $proSum); 
        if ($randNum  array('id'=>1,'prize'=>'平板電腦','v'=>1), 
    '1' => array('id'=>2,'prize'=>'數碼相機','v'=>5), 
    '2' => array('id'=>3,'prize'=>'音箱設備','v'=>10), 
    '3' => array('id'=>4,'prize'=>'4G優盤','v'=>12), 
    '4' => array('id'=>5,'prize'=>'10Q幣','v'=>22), 
    '5' => array('id'=>6,'prize'=>'下次沒準就能中哦','v'=>50), 
); 

/*
 * 每次前端頁面的請求,PHP循環獎項設置數組,
 * 通過概率計算函數get_rand獲取抽中的獎項id。
 * 將中獎獎品保存在數組$res['yes']中,
 * 而剩下的未中獎的信息保存在$res['no']中,
 * 最後輸出json個數數據給前端頁面。
 */
foreach ($prize_arr as $key => $val) { 
    $arr[$val['id']] = $val['v']; 
} 
$rid = get_rand($arr); //根據概率獲取獎項id 

$res['yes'] = $prize_arr[$rid-1]['prize']; //中獎項 
unset($prize_arr[$rid-1]); //將中獎項從數組中剔除,剩下未中獎項 
shuffle($prize_arr); //打亂數組順序 
for($i=0;$i

You May Also Like