亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

PHP中怎么根據權重生成隨機數

PHP
小億
111
2024-05-27 12:48:10
欄目: 編程語言

可以使用PHP的mt_rand()函數結合權重來生成隨機數。具體步驟如下:

  1. 首先定義一個包含各個權重的數組,如$weights = array(1, 2, 3, 4)。

  2. 計算權重數組的總和,如$totalWeight = array_sum($weights)。

  3. 生成一個隨機數$rndNum,范圍為1到$totalWeight之間,如$rndNum = mt_rand(1, $totalWeight)。

  4. 遍歷權重數組,累加每個權重值,并判斷$rndNum是否小于等于累加值,如果是,則返回當前索引值作為隨機數,如下所示:

function getRandomNumberByWeight($weights) {
    $totalWeight = array_sum($weights);
    $rndNum = mt_rand(1, $totalWeight);
    
    $cumulativeWeight = 0;
    foreach($weights as $key => $weight) {
        $cumulativeWeight += $weight;
        if($rndNum <= $cumulativeWeight) {
            return $key;
        }
    }
}
  1. 調用函數getRandomNumberByWeight($weights),即可根據權重生成隨機數。

例如,如果$weights = array(1, 2, 3, 4),則根據權重生成的隨機數可能為0、1、2或3,其概率分別為1/10、2/10、3/10、4/10。

0
巧家县| 乐陵市| 会东县| 辛集市| 奈曼旗| 海门市| 怀仁县| 道真| 丰顺县| 石城县| 霍城县| 壤塘县| 横峰县| 江孜县| 双辽市| 郴州市| 吉木萨尔县| 开平市| 江达县| 黔东| 镇宁| 嘉定区| 肥东县| 烟台市| 永丰县| 新余市| 长垣县| 靖江市| 蒙阴县| 定兴县| 洱源县| 封开县| 通化县| 日喀则市| 钟山县| 汶上县| 开化县| 阜南县| 威信县| 大连市| 阿坝县|