假设我想随机choose一个来自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 - PHP选择带权重的随机数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10559133/

10-10 06:53