ホームページ >バックエンド開発 >PHPチュートリアル >PHP mt_rand() で乱数を生成する方法
PHP で乱数 mt_rand() を生成する方法
PHP では、mt_rand() は rand() より 4 倍高速ですが、多くの古い libc 乱数ジェネレーターには不確実性と未知数の機能があり、とても遅いです。 PHP の rand() 関数は、デフォルトで libc 乱数ジェネレーターを使用します。 mt_rand() 関数は非公式にこれを置き換えるために使用されます。この関数は、メルセンヌ ツイスターの既知の機能を乱数生成器として使用しており、mt_rand() は libc が提供する rand() よりも平均して 4 倍高速に乱数値を生成できます。
(PHP 3 >= 3.0.6, PHP 4, PHP 5)
int mt_rand ( [int min, int max] )
そうでない場合オプションのパラメータ min と max を指定すると、mt_rand() は 0 から RAND_MAX までの擬似乱数を返します。
たとえば、5 から 15 までの乱数が必要な場合は、mt_rand(5, 15) を使用します。
注: PHP 4.2.0 では、srand() 関数または mt_srand() 関数を使用して乱数ジェネレーターをシードする必要はなくなり、自動的に行われるようになりました。
rand — ランダムな整数を生成します
(PHP 3, PHP 4, PHP 5)
int rand ( [int min, int max] )
オプションのパラメーター min と max が指定されていない場合、rand() は 0 から RAND_MAX までの擬似乱数の整数を返します。たとえば、5 から 15 までの範囲の乱数が必要な場合は、rand(5, 15) を使用します。
注: 一部のプラットフォーム (Windows など) では、RAND_MAX は 32768 のみです。 32768 より大きい範囲が必要な場合は、min パラメーターと max パラメーターを指定して RAND_MAX より大きい数値を生成するか、代わりに mt_rand() の使用を検討してください。
注: PHP 4.2.0 では、srand() 関数または mt_srand() 関数を使用して乱数ジェネレーターをシードする必要はなくなり、自動的に行われるようになりました。
例:
<?php <br />echo(mt_rand()); <br />echo(mt_rand()); <br />echo(mt_rand(10,100)); <br /><p>?>
出力は同様です: