我有这个网站,看吧,它目前每 5 分钟生成一个数字,并每 5 秒生成第二个较小的数字,并将该数字添加到第一个数字,以产生该数字正在波动的错觉。仅查看该网站可能会有所帮助。
这可能看起来很愚蠢,这基本上是一个内部笑话。
无论如何,问题是据我所知给出的数字是客户端的,并且因人而异。是否可以将其设置为服务器端?这样同时访问该网页的每个人都会看到相同的数字?
谢谢
最佳答案
您需要为随机数生成器提供种子,以便 php rand()
函数向所有访问者返回相同的数字,直到生成下一个随机数。
通过time()使用服务器的当前时间
$fiveMinSeed = floor(time() / 300);
srand($fiveMinSeed);
$firstNumber = rand();
$fiveSecondSeed = floor(time() / 5);
srand($fiveSecondSeed);
$secondNumber = rand();
echo $firstNumber + $secondNumber;
这将生成两种不同的种子,一种基于每 5 分钟更改一次的时间,另一种每 5 秒更改一次。然后使用这些值,您将获得一个“随机”数字,该数字对于每个人来说都是相同的,直到种子发生变化。
您可以使用 AJAX 请求来获取号码并显示在您的页面上。
http://php.net/manual/en/function.srand.php
注意:
如果您使用mt_rand()
,则可以使用mt_srand()
设置种子
关于php - 网站上的服务器端随机数生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18070351/