2016-10-03 3 views
0

繰り返しのない数字を生成する簡単なページを作成したいと思います。PHPやJavascriptを使用しないジェネレータの繰り返し番号

私はコードの下に持っている:それは正常に動作します

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

、唯一のことは、それが乱数を生成するということですが、私は、例えばのためにクリックした後、 "Submit"ボタンを押すと、前のリクエストで生成されたときと同じ新しい乱数が生成されます。

私が必要とするのは、何らかの形ですでに生成された番号と次回に番号を生成する必要があります。それを再度使用しないでください。

どうすればいいですか?


は多分時間/日付に基づいて乱数を生成し、いくつかの機能があるなど

+0

をを除いて。あなたのrand()は何をしますか? –

+0

すでに生成された番号のレコードを保持する必要があります。データベース、ファイル、何か。また、以前に生成された数値の最大値を渡してそこから開始し、 'max_num'の新しい範囲を' greater_than_max'に設定することもできます。無限になるまで繰り返します。 – Andrew

+0

@Andrew mySQL DBを使用できます。あなたはそれをどのように使用してDBを利用するのかを確かめることができますか? – Roman

答えて

0

このコード試してみてください:あなたは( `ランドをcalllとき`あなたが `通過しなかった)

<?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 

?> 
関連する問題