首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在PHP中按权重生成随机结果?

在PHP中按权重生成随机结果,可以使用以下方法:

  1. 创建一个数组,其中包含每个结果的权重值。例如:
代码语言:php
复制
$weights = array(
    'A' => 10,
    'B' => 20,
    'C' => 30,
    'D' => 40
);
  1. 计算权重总和:
代码语言:php
复制
$total_weight = array_sum($weights);
  1. 生成一个随机数,该随机数在0到权重总和之间:
代码语言:php
复制
$random_number = mt_rand(1, $total_weight);
  1. 遍历权重数组,找到对应的结果:
代码语言:php
复制
$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。生成的随机结果将根据这些权重进行分布。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券