這篇文章主要介紹了關於PHP隨機機率計算函數的介紹,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
在遊戲開發中,會經常碰到計算機率的場景
下面的程式碼就是一個最簡單的根據給定機率計算出隨機結果的實例
<?php //a出现的概率是10%,b是20%,c是30%,d是40% $pro = [ 'a' =>10, 'b' =>20, 'c' =>30, 'd' =>40 ]; function proRand($pro) { $ret = ''; $sum = array_sum($pro); foreach($pro as $k=>$v) { $r = mt_rand(1, $sum); //echo $r . "\t" . $v . "\n"; if($r <= $v) { $ret = $k; break; }else{ $sum = max(0, $sum - $v); } } return $ret; } echo proRand($pro);
更複雜的可能會在機率之上加上權重。
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!
相關推薦:
以上是關於PHP隨機機率計算函數的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!