今天遇到這樣的乙個問題 封裝乙個 **概率函式 思前想後去網上找點資料吧,而且不止一種方法 這種我感覺還是比較容易的 還是那句話 實現功能的思路不止一種 **也不止一種1function get_rand($proarr
) else16}
17unset ($proarr
);18
return
$result;19
}202122
$prize_arr = array
(23 '0' => array('id'=>1,'prize'=>'平板電腦','v'=>0.1),
24 '1' => array('id'=>2,'prize'=>'數位相機','v'=>5),
25 '2' => array('id'=>3,'prize'=>'音箱裝置','v'=>10),
26 '3' => array('id'=>4,'prize'=>'4g優盤','v'=>12),
27 '4' => array('id'=>5,'prize'=>'10q幣','v'=>22),
28 '5' => array('id'=>6,'prize'=>'下次沒準就能中哦','v'=>50),
29);
3031
32foreach ($prize_arr
as$key => $val
) 35
$rid = get_rand($arr); //
根據概率獲取獎項id
36$res['yes'] = $prize_arr[$rid-1]['prize']; //
中獎項37
unset($prize_arr[$rid-1]); //
將中獎項從陣列中剔除,剩下未中獎項
38shuffle($prize_arr); //
打亂陣列順序
39for($i=0;$i
42$res['no'] = $pr;43
echo json_encode($res,json_unescaped_unicode);
php中獎概率演算法
經典的概率演算法,proarr是乙個預先設定的陣列,假設陣列為 array 100,200,300,400 開始是從1,1000 這個概率範圍內篩選第乙個數是否在他的出現概率範圍之內,如果不在,則將概率空間,也就是k的值減去剛剛的那個數字的概率空間,在本例當中就是減去100,也就是說第二個數是在1,...
php設定中獎概率演算法
1 2 3 經典的概率演算法,4 proarr是乙個預先設定的陣列,5 假設陣列為 array 100,200,300,400 6 開始是從1,1000 這個概率範圍內篩選第乙個數是否在他的出現概率範圍之內,7 如果不在,則將概率空間,也就是k的值減去剛剛的那個數字的概率空間,8 在本例當中就是減去...
php概率計算 php 中獎概率演算法
上次專案中有個 活動,中獎概率演算法整理成一篇筆記 中獎概率演算法 v表示中獎概率,注意其中的v必須為整數,可以將對應的獎項的v設定成0,即意味著該獎項抽中的機率是0,陣列中v的總和 基數 基數越大越能體現概率的準確性。本例中v的總和為100,那麼 特等獎 對應的中獎概率就是1 如果v的總和是100...