使用PHP或Javascript生成非重复数字

时间:2016-10-03 06:23:28

标签: javascript php

我想写一个简单的页面,这将允许我生成非重复的数字。

我的代码如下:

function rand ( min, max, except ) {
  var number = except;
  while (number == except) {
      number = Math.floor( Math.random() * ( max + 1 - min ) + min );
  }
  return number;
}

var test = [];
while ( test.length < 1 ) {
  test.push( rand( 100, 500) ); 
}
alert( test );

它工作正常,唯一的是它会产生随机数,但在我点击之后,例如“提交”按钮,它将生成新的随机数,这些数字可与上次请求时生成的相同。

我需要的是 - 页面应该以某种方式保存已经生成的数字,下次当它生成数字时,它不应该再次使用它。

任何想法如何做到这一点?

也许有一些功能会根据时间/日期等创建随机数。

1 个答案:

答案 0 :(得分:0)

试用此代码:

<?php

   function randomGen($min, $max, $quantity)
    {
       $numbers = range($min, $max);
       shuffle($numbers);
       return array_slice($numbers, 0, $quantity);
    }

    print_r(randomGen(0,20,20)); //generates 20 unique random numbers

?>