:ランダム関数は同じ数を出力します。私は乱数を生成するには、次のコードを使用しています
$random = mt_rand(1000000000,10000000000);
これは、ローカルホスト上で完璧に動作しますが、サーバー上のそれはまったく同じ番号を出力します。重複した結果を防ぐために私ができることはありますか? は、実際に私は
mt_srand();
を使用しようとしましたが、私はそれを使用する方法を知りませんでした。
:ランダム関数は同じ数を出力します。私は乱数を生成するには、次のコードを使用しています
$random = mt_rand(1000000000,10000000000);
これは、ローカルホスト上で完璧に動作しますが、サーバー上のそれはまったく同じ番号を出力します。重複した結果を防ぐために私ができることはありますか? は、実際に私は
mt_srand();
を使用しようとしましたが、私はそれを使用する方法を知りませんでした。
PHP> = 7の場合、random_int()を使用してランダムな整数を生成できます。これは、mt_randと同じ引数も受け入れます。
mt_srandを使用する場合は、Unixタイムスタンプ(ミリ秒単位)を設定してmt_rand()関数を実行します。例えば。
mt_srand(microtome());
$rand = mt_rand(1, 100000);
「ランダム」数は実際にランダムではなく、擬似ランダムです。毎回異なる値を得るために、時間ベースのようなさまざまな値でジェネレータを「シード」する命令を探します。
「古いlibcの乱数ジェネレータの多くは、あいまいまたは不明な特徴を持ち、遅いです。mt_rand()関数は、古いrand()のドロップイン置換です。 »Mersenne Twisterを使用した既知の特性。平均的なlibc rand()が提供するものより4倍の速さで乱数を生成します。
manual on mt_srandを読み、起動から呼び出しまでのシード(秒またはミリ秒またはティックなど)を選択します。
使用方法が不明な場合。 [RTFM](http://php.net/manual/en/function.mt-srand.php) – RiggsFolly