【问题标题】:php random number code that uses same random number throughout session在整个会话中使用相同随机数的 php 随机数代码
【发布时间】:2013-03-01 21:34:24
【问题描述】:

我在我的 Wordpress 网站上找到了一个 php 随机数生成器 here。当浏览器重新加载时,实际代码(见下文)会显示一个新的随机数。我的目标是在整个浏览器会话中出现相同的随机数。

$amountOfDigits = 3;
$numbers = range(0,9);
shuffle($numbers);

for($i = 0;$i < $amountOfDigits;$i++)
$digits .= $numbers[$i];

echo $digits; //prints 217356

我应该在上面添加什么代码,以便在整个浏览器会话中出现相同的随机数?我阅读了question,但我不确定该代码是否可以与上面的代码一起使用。我也读过this question,但它在我的头上。

【问题讨论】:

标签: php session random numbers


【解决方案1】:

将其粘贴在 $_SESSION 中,然后将其回显。

[code]

session_start();     

if (!isset($_SESSION['random'])) {

    $amountOfDigits = 3;
    $numbers = range(0,9);
    shuffle($numbers);

    for($i = 0;$i < $amountOfDigits;$i++)
    $digits .= $numbers[$i];

    $_SESSION['random'] = $digits;

}
elseif (isset($_SESSION['random'])) {
    echo $_SESSION['random']; //prints 217356
}

[/code]

【讨论】:

    【解决方案2】:

    将其存储在会话中...

    function getRandom()
    {
       if(isset($_SESSION['myRandomNumber'])
          return $_SESSION['myRandomNumber'];
    
       $amountOfDigits = 3;
       $numbers = range(0,9);
       shuffle($numbers);
    
       for($i = 0;$i < $amountOfDigits;$i++)
          $digits .= $numbers[$i];
    
       // Store in session
       $_SESSION['myRandomNumber'] = $digits
    
       return $digits;
     }
    

    在使用这样的函数之前一定要使用session_start()

    【讨论】:

      猜你喜欢
      • 2019-09-21
      • 1970-01-01
      • 2018-11-06
      • 2015-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-07
      • 1970-01-01
      相关资源
      最近更新 更多