mt_rand

(PHP 3>= 3.0.6, PHP 4 , PHP 5)

mt_rand -- 改良型乱数値を生成する

説明

int mt_rand ( [int min, int max])

古いlibcの多くの乱数発生器は、怪しげであるか特性が不明であったり し、また低速でした。デフォルトでは、PHP は rand() においてlibcの乱数発生器を使用します。 mt_rand() 関数は、その代替品となるものです。 この関数は、その特性が既知の乱数生成器 Mersenne Twister を使用し、 平均的な libcの rand()よりも 4 倍以上高速に乱数を生成します。

オプションの引数 min,maxを付けずにコー ルした場合、mt_rand() は 0 から RAND_MAXの間の擬似乱数値を返します。 例えば、5から15まで(端点を含む)の間の乱数値を得たい場合には、 mt_rand(5, 15) として下さい。

例 1. mt_rand() の例

<?php
echo mt_rand() . "\n";
echo
mt_rand() . "\n";

echo
mt_rand(5, 15);
?>

上の例の出力は以下のようになります。

1604716014
1478613278
6

注意: PHP 4.2.0以降、 srand()または mt_srand()によりランダム数生成器にシードを与える必 要はありません。これは、この処理が自動的に行われるためです。

注意: 3.0.7より前のバージョンでは、maxの意味は rangeでした。これらのバージョンにおいて 同じ結果を得るために簡単な例を示すと、5から15までの乱数を得たい 場合には mt_rand (5, 11)とする必要があります。

mt_srand(), mt_getrandmax(), rand() も参照下さい。