91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
南陵县| 云安县| 叙永县| 高青县| 化州市| 改则县| 武乡县| 海林市| 西藏| 沂源县| 辽阳市| 胶州市| 西乌珠穆沁旗| 醴陵市| 涿鹿县| 定州市| 陆河县| 呼图壁县| 浠水县| 达尔| 梅河口市| 德阳市| 九龙城区| 桓台县| 永修县| 武汉市| 年辖:市辖区| 九龙县| 江陵县| 垫江县| 竹北市| 冕宁县| 连州市| 阿城市| 通道| 江门市| 孙吴县| 习水县| 桦南县| 隆安县| 唐海县|