国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

php中獎概率算法函數

2024-04-25 20:35:47
字體:
來源:轉載
供稿:網友

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;

}

上述代碼是一段經典的概率算法,$proArr是一個預先設置的數組,假設數組為:array(100,200,300,400),開始是從1,1000這個概率范圍內篩選第一個數是否在他的出現概率范圍之內, 如果不在,則將概率空間,也就是k的值減去剛剛的那個數字的概率空間,在本例當中就是減去100,也就是說第二個數是在1,900這個范圍內篩選的。這樣篩選到最終,總會有一個數滿足要求。就相當于去一個箱子里摸東西,第一個不是,第二個不是,第三個還不是,那最后一個一定是。這個算法簡單,而且效率非常高,關鍵是這個算法已在我們以前的項目中有應用,尤其是大數據量的項目中效率非常棒。

實例

$prize_arr = array(

'0' => 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),

);

$rid = get_rand($arr); //根據概率獲取獎項id

$res['yes'] = $prize_arr[$rid-1]['prize']; //中獎項

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 罗山县| 武功县| 金塔县| 崇仁县| 阿尔山市| 武冈市| 双城市| 金秀| 洪洞县| 连山| 合水县| 伊金霍洛旗| 庆城县| 南昌县| 景德镇市| 徐州市| 准格尔旗| 如皋市| 唐山市| 宜君县| 谷城县| 突泉县| 渭源县| 梅河口市| 钟山县| 金坛市| 永城市| 禄劝| 桓台县| 镇原县| 九龙城区| 安图县| 德惠市| 建瓯市| 青神县| 电白县| 崇明县| 宁陕县| 佛山市| 张家川| 开化县|