php - 网站上的服务器端随机数生成器

标签 php html random numbers

我有这个网站,看吧,它目前每 5 分钟生成一个数字,并每 5 秒生成第二个较小的数字,并将该数字添加到第一个数字,以产生该数字正在波动的错觉。仅查看该网站可能会有所帮助。

http://spinningcat.us/

这可能看起来很愚蠢,这基本上是一个内部笑话。

无论如何,问题是据我所知给出的数字是客户端的,并且因人而异。是否可以将其设置为服务器端?这样同时访问该网页的每个人都会看到相同的数字?

谢谢

最佳答案

您需要为随机数生成器提供种子,以便 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/

相关文章:

javascript - 未捕获的TypeError:无法读取未定义的属性'preventDefault'

html - Kendo UI网格编辑模式列样式

html - 如何在 Safari 中打开 iPhone 网络应用程序链接?

java - ThreadLocalRandom 或每个线程的新 Random

java - java中随机播放轨道

PHP Regex 如何精确匹配街道地址中的 2 或 3 位数字

php - 如何在 WordPress 中为其他子网站共享 WP_POST

php - 如何提交字段名重复的表单数据?

PHP 搜索功能不检索结果

java - 如何保证随 secret 码中的某些字符