刷新页面后的较大随机数

时间:2017-07-24 19:24:07

标签: javascript php jquery

我在我的新网络项目中使用了一些javascript。我也需要生成一个随机数。但它有点不同!

代码应该在刷新后产生更大的随机数!

例如:

  • 首先它给出:1000
  • 刷新后:2000
  • 另一次刷新:4302
  • ...

我的意思是代码永远不会给我们,任何重复的数字,每次刷新后,数字必须大于最后一个!

javascript有什么方法吗?!或者我需要使用其他东西,如PHP或... 如果是,怎么样?!

3 个答案:

答案 0 :(得分:2)

使用new Date().valueOf()(以毫秒为单位表示当前timestramp)它将始终大于之前的因为它是单向的

答案 1 :(得分:1)

你可以使用PHP会话实现这一点(因为你已经在你的标签中包含了PHP,我假设这没关系),然后将它设置为你可以访问的全局JS变量:

<?php 
    session_start();
    if (isset($_SESSION['random_number'])) {
        $_SESSION['random_number'] += rand();
    } else {
        $_SESSION['random_number'] = rand();
    }
?>

<script type="text/javascript">
    var random_number = <?php echo $_SESSION['random_number']; ?>;
</script>

答案 2 :(得分:0)

如果您正在使用PHP,则可以将其存储在会话中。然后使用rand()函数生成一个随机数,使用min参数确保每次刷新都获得更高的数字。将PHP_INT_MAX常量传递给max参数,您将获得最高的&#34; PHP引擎可以处理的可能数量。

如果已经设置会话,则将$_SESSION['random_integer'] + 1添加到min,我们保证下一个随机数将高于当前的随机数。如果没有设置,我们只需将其定义为零。

session_start();
$min_value = !isset($_SESSION['random_integer'] ? 1 : $_SESSION['random_integer'] + 1;
$_SESSION['random_integer'] = rand($min_value, PHP_INT_MAX);
echo $_SESSION['random_integer'];

PHP_INT_MAX与32位和64位系统不同,但它应足够高。