中獎概率算法

function getRand($proArr) { //傳入的爲一維數字數組,此數組中數字即爲相應概率
        $result = '';
        //概率數組的總概率精度
        $proSum = array_sum($proArr);
        //概率數組循環
        foreach ($proArr as $key => $proCur) {
            $randNum = mt_rand(1, $proSum);
            if ($randNum <= $proCur) {
                $result = $key;
                break;
            } else {
                $proSum -= $proCur;
            }
        }
        unset ($proArr);
        return $result;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章