PHP选择带权重的随机数

标签 php random probability

假设我想从 1-10 中随机选择一个数字,但每个数字都有权重。

1 - 15% chance
2 - 15% chance
3 - 12% chance
4 - 12% chance
5 - 10% chance
6 - 10% chance
7 - 8% chance
8 - 8% chance
9 - 5% chance
10 - 5% chance

我将如何在 PHP 中对此进行编码?

最佳答案

我假设您的百分比总和为 100%?

构建一个数组
15 times a '1' value, 
15 times a '2' value, 
... 
10 times a '6' value, 
8 times a '7' value,
...
5 times 1 '10' value

您最终会得到一个包含 100 个元素的数组。

随机选择一个元素(并将其从数组中弹出)。

关于PHP选择带权重的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10559133/

相关文章:

C++ 随机数生成器只输出 2

java - 如何以给定的概率传播随机值?

python - 数组的分布图

php - 删除语句显示删除成功,但不删除记录

symfony - 使用 Memcached 进行 session 时打开的文件太多

php - 如何在单元测试(PHPUnit)中的 trigger_error(..., E_USER_WARNING) 之后执行代码?

c++ - rand() 在循环中复制数字

python - 每次运行代码时,如何在循环内使用种子来获得相同的随机样本?

python - 在单位网格上的 2D 随机游走中击中给定线的平均时间

javascript - 将 html 表单数据保存到文件