PHP概率演算法 砸金蛋示例

2022-04-06 10:32:36 字數 1404 閱讀 9996

這是乙個很經典的概率演算法:

function get_rand($proarr

) else

} unset ($proarr

);

return

$result

; }

假設:我們有這樣乙個陣列:a獎概率20%,b獎概率30%,c獎概率50%

$prize_arr =array('a'=>20,'b'=>30,'c'=>50);

模擬函式執行過程:

總概率精度為20+30+50=100

第一次陣列迴圈,$procur=20

假設抽取的隨機數rand(1,100),假設抽到$randnum=55

if判斷-------

如果$randnum<=20,則result=a

否則進入下一迴圈,總概率精度變為100-20=80

第二次陣列迴圈,$procur=30

假設抽取的隨機數rand(1,80),假設抽到$randnum=33

if判斷---------

如果$randnum<=30,則result=b

否則進入下一迴圈,總概率精度變為80-30=50

第三次陣列迴圈,$prosur=50;

假設抽取的隨機數rand(1,50),不管怎麼抽,隨機數都會《或=50,

那麼得出result=c;

因為樣本沒有改變,雖然可能抽取的隨機數不止乙個,但是概率是不變的。

砸金蛋案例

public

function

eggajax()

$prize_id = $this->getrand($arr); //

根據概率獲取獎品id

$data['msg'] = ($prize_id == 7) ? 0 : 1; //

如果為0則沒中

$data['prize_title'] = $prize_arr[$prize_id - 1]['title']; //

中獎獎品

echo json_encode($data

);

exit; //

以json陣列返回給前端

}public

function getrand($proarr)

else

} unset($proarr

);

return

$rs;

}

具體js:

var ourl = "";

$.post(ourl,

function

(data);

},"json");

php概率計算 PHP指定概率演算法

php指定概率演算法,可用於刮刮卡,大轉盤等 演算法。假設 有乙個二維陣列,記錄了所有本次 的獎項資訊 test arr array a 20,b 30,c 50 a獎概率20 b獎概率30 c獎概率50 模擬函式執行過程 總概率精度為20 30 50 100 第一次陣列迴圈,procur 20 假...

php概率計算 php 中獎概率演算法

上次專案中有個 活動,中獎概率演算法整理成一篇筆記 中獎概率演算法 v表示中獎概率,注意其中的v必須為整數,可以將對應的獎項的v設定成0,即意味著該獎項抽中的機率是0,陣列中v的總和 基數 基數越大越能體現概率的準確性。本例中v的總和為100,那麼 特等獎 對應的中獎概率就是1 如果v的總和是100...

PHP指定概率演算法

php指定概率演算法,可用於刮刮卡,大轉盤等 演算法。假設 有乙個二維陣列,記錄了所有本次 的獎項資訊 test arr array a 20,b 30,c 50 a獎概率20 b獎概率30 c獎概率50 模擬函式執行過程 總概率精度為20 30 50 100 第一次陣列迴圈,procur 20 假...