问题可能是题外话,但我只是想知道这是否不是一个不错且简单的随机数函数。它应该给出一个从 0 到 的随机数$max
:
function randomNumber($max){
((int)(1000000000000 / microtime())) % ($max+1);
}
如果我在这里没有遗漏一些非常明显的东西,这应该可以工作,不是吗?但是,下一个问题是:这里创建的数字真的是随机的吗?当我模拟 1'000'000 次掷骰子时,我得到如下内容:
Array
(
[1] => 166520
[2] => 166619
[3] => 166522
[4] => 167001
[5] => 166512
[6] => 166826
)
我问这个问题的原因是:我读到不可能创建一个真正的随机数,所以我开始思考,这个函数似乎给出了相当随机的结果,一点也不复杂。那么我在这里错过了什么吗?