php簡單中獎演算法

2022-09-07 04:18:17 字數 1095 閱讀 4069

今天遇到這樣的乙個問題  封裝乙個 **概率函式 思前想後去網上找點資料吧,而且不止一種方法 這種我感覺還是比較容易的 還是那句話 實現功能的思路不止一種 **也不止一種

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...