在PHP中按权重生成随机结果,可以使用以下方法:
$weights = array(
'A' => 10,
'B' => 20,
'C' => 30,
'D' => 40
);
$total_weight = array_sum($weights);
$random_number = mt_rand(1, $total_weight);
$result = null;
$sum = 0;
foreach ($weights as $key => $weight) {
$sum += $weight;
if ($random_number <= $sum) {
$result = $key;
break;
}
}
现在,$result
变量将包含按权重随机选择的结果。在这个例子中,A的权重为10,B的权重为20,C的权重为30,D的权重为40。生成的随机结果将根据这些权重进行分布。
领取专属 10元无门槛券
手把手带您无忧上云