使用PHP从数组中偏向随机值
有时,您可能希望以偏向随机的方式从数组中获取随机值,也就是说,您希望某些值比其他值返回更多。这是一个将从数组生成单个键的函数,其中较大的更改将检索到较高的值。
function biasedRandom($numbers){$total = 0;
foreach($numbers as $number=>$weight){
$total += $weight;
$distribution[$number] = $total;
};
$rand = mt_rand(0,$total-1);
foreach($distribution as $number=>$weights){
if($rand<$weights){
return $number;
};
};
}
此功能以下列方式使用。
//设置数组$array = array('one'=>100,
'two'=>100,
'three'=>100,
'four'=>500);
// 得到有偏的随机数
echo biasedRandom($array);
该函数生成的键最多为四个,因为它的值比其余键高,因此将“重”得多。
以上是 使用PHP从数组中偏向随机值 的全部内容, 来源链接: utcz.com/z/317517.html