【问题标题】: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()。