我一直在使用mt_rand(10,100)获得10到100之间的随机数,但每次都给我74个。
继续使用
$success=mt_rand(10,100);
有什么想法吗?我需要种子吗?提前谢谢。
--- --- EDIT
我刚试过这个
srand(microtime());
$success=rand(10,100);
每次都给出相同的答案,47。
--- --- EDIT
这就是整件事
srand(microtime());
$success=rand(10,100);
echo $success;
if ($success == 100) {
$displayline="You succeeded";
session_register("displayline");
header("location:userhome.php");
}
答案 0 :(得分:1)
您运行的是哪个版本的PHP?在4.2.0中,mt_rand()被更改为自动播种。
您可以使用mt_srand($ seed)播种它,提供种子值。我使用microtime()函数的输出。
编辑:由于您使用的是5.2,请检查您的代码以查看是否正在调用mt_srand()并注释掉所有此类调用。
答案 1 :(得分:0)
这很奇怪。如果只做mt_rand()
你会得到什么? mt_getrandmax()
的价值是什么?
尝试使用mt_srand()
答案 2 :(得分:0)
答案 3 :(得分:0)
删除所有种子功能,不要重新添加。然后重新启动服务器。
另外,我发现了this PHP bug,它出现在Windows系统上,有一些版本的php.ini文件。