【发布时间】:2018-09-30 15:03:52
【问题描述】:
我正在使用以下代码来测试我拥有的函数,但似乎 rand 函数正在生成加权结果:
$D22[] = rand(1,2)*10+rand(1,2);
对此进行测试将生成以下四个数字之一:11、12、21、22。它应该每个运行大约 25%,但实际上 11 只出现了大约 5% 的时间(只运行了 20 次)。
是什么原因造成的,PHP 有更好的随机函数吗?
P.S.:我知道这个问题可能是无效的。 :)
【问题讨论】:
我正在使用以下代码来测试我拥有的函数,但似乎 rand 函数正在生成加权结果:
$D22[] = rand(1,2)*10+rand(1,2);
对此进行测试将生成以下四个数字之一:11、12、21、22。它应该每个运行大约 25%,但实际上 11 只出现了大约 5% 的时间(只运行了 20 次)。
是什么原因造成的,PHP 有更好的随机函数吗?
P.S.:我知道这个问题可能是无效的。 :)
【问题讨论】:
你可以使用mt_rand()
查看此链接 mt_rand vs rand
【讨论】:
random_int