【PHP8.x】mt_rand関数の使い方
作成日: 更新日:
『mt_rand関数は、メルセンヌ・ツイスター法というアルゴリズムを用いて、質の高いランダムな整数を生成する関数です。PHPで古くからあるrand
関数よりも高速で、より優れた乱数特性を持つため、こちらの使用が推奨されています。この関数は主に2通りの使い方があります。まず、引数を指定せずにmt_rand()
と呼び出すと、0からmt_getrandmax()
関数で取得できる、その環境での最大乱数値までの範囲でランダムな整数を返します。もう一つの方法は、mt_rand(min, max)
のように2つの整数を引数として指定するものです。この場合、第一引数のmin
から第二引数のmax
までの範囲(両端の値も含む)のランダムな整数が返されます。例えば、サイコロの目のように1から6までの値が欲しい場合はmt_rand(1, 6)
と記述します。通常、プログラムを実行するたびに異なる乱数が生成されますが、mt_srand()
関数で乱数の種(シード)を事前に設定することで、乱数の発生系列を固定し、常に同じ順序で乱数を再現させることも可能です。これはプログラムのテストなどで役立ちます。
基本的な使い方
構文(syntax)
mt_rand(int $min, int $max): int
引数(parameters)
?int $min = null, ?int $max = null
- ?int $min: 生成する乱数の最小値を指定します。省略した場合、0が使用されます。
- ?int $max: 生成する乱数の最大値を指定します。省略した場合、PHP_INT_MAX(PHPで扱える最大の整数)が使用されます。
戻り値(return)
int
指定された範囲内のランダムな整数を返します。