首頁  >  文章  >  後端開發  >  關於PHP隨機機率計算函數的介紹

關於PHP隨機機率計算函數的介紹

不言
不言原創
2018-07-11 16:31:482393瀏覽

這篇文章主要介紹了關於PHP隨機機率計算函數的介紹,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

在遊戲開發中,會經常碰到計算機率的場景
下面的程式碼就是一個最簡單的根據給定機率計算出隨機結果的實例

<?php
//a出现的概率是10%,b是20%,c是30%,d是40%
$pro = [
&#39;a&#39; =>10,
&#39;b&#39; =>20,
&#39;c&#39; =>30,
&#39;d&#39; =>40
];

function proRand($pro)
{
        $ret = &#39;&#39;;
        $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如何讀取大excel檔案資料的方法

以上是關於PHP隨機機率計算函數的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn