php随机数代码,在整个会话中使用相同的随机数

时间:2013-03-01 21:34:24

标签: php session random numbers

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

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

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

echo $digits; //prints 217356

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

2 个答案:

答案 0 :(得分: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]

答案 1 :(得分:1)

将其存储在会话中......

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()