我遇到了一个小问题,并且不想为随机数生成我自己的算法。
我要在网站上显示“当天的话语”,它每天只需更改一次,所有数据都以XML格式存储。在页面加载时,我通过php中的simpleXml Parser读取xml文件,然后在0,数组长度之间生成一个随机数,并输出一个术语+定义。
但是我不希望它随着每次刷新而改变,我也不想将它保存在数据库中的服务器上。
那么如何生成0到N之间的随机数,这个值在24小时内给出相同的值。
答案 0 :(得分:10)
只需将当前日期设置为种子,无需小时,分钟和秒。
srand(mktime(0, 0, 0));
$wordIndex = rand(0, $wordCount);
它将在一天内返回相同的数字。
答案 1 :(得分:6)
选项1:没有随机数,只需每天增加一个索引。它看起来很随机,因为没有人知道你的文件。如果这还不够好,请随机输入输入文件(将其重新播放一次并再次将其安全保存)。
选项2:使用今天的日期作为随机数生成器的种子。
答案 2 :(得分:2)
<?
srand(date("ymd"));
echo rand();
?>
答案 3 :(得分:0)
如果您不想存储它,请使用与日常周期相关的内容,例如日期或工作日。