我在我的新网络项目中使用了一些javascript。我也需要生成一个随机数。但它有点不同!
代码应该在刷新后产生更大的随机数!
例如:
1000
2000
4302
...
我的意思是代码永远不会给我们,任何重复的数字,每次刷新后,数字必须大于最后一个!
javascript有什么方法吗?!或者我需要使用其他东西,如PHP或... 如果是,怎么样?!
答案 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位系统不同,但它应足够高。