【问题标题】:Generating 'word of the day' via PHP Random Number通过 PHP 随机数生成“今日词汇”
【发布时间】:2011-10-12 12:53:59
【问题描述】:

我遇到了一个小问题,不想为随机数生成自己的算法。

我必须在网站上显示“每日词汇”,它每天只需更改一次,所有数据都存储在 XML 中。在页面加载时,我通过 php 中的 simpleXml Parser 读取 xml 文件,然后生成一个介于 0 和数组长度之间的随机数并输出一个术语 + 定义。

但我不希望它随着每次刷新而改变,我也不希望将它保存在数据库中的服务器上。

那么如何生成一个介于 0 到 N 之间的随机数,它会在 24 小时内给出相同的值。

【问题讨论】:

    标签: php math random numbers


    【解决方案1】:

    只需将当前日期设置为没有小时、分钟和秒的种子。

    srand(mktime(0, 0, 0));
    $wordIndex = rand(0, $wordCount);
    

    它会在一天内返回相同的数字。

    【讨论】:

      【解决方案2】:
      <?
        srand(date("ymd"));
        echo rand();
      ?>
      

      【讨论】:

        【解决方案3】:

        如果你不想存储它,那么使用与日常周期相关的东西,例如日期或工作日。

        【讨论】:

          【解决方案4】:

          选项1:没有随机数,每天增加一个索引。它看起来很随机,因为没有人知道您的文件。如果这还不够好,请将输入文件随机化(将其洗牌一次并再次安全)。

          选项 2:使用今天的日期作为随机数生成器的种子。

          【讨论】:

          • 单词按字母顺序排列,我也有搜索功能。在这里每天增加 1 的索引是不可行的...将尝试选项 2,不知道 PP 有基于种子的随机数的选项。
          猜你喜欢
          • 2012-05-25
          • 2017-09-03
          • 2014-09-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多