Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

mt_rand

(PHP 3>= 3.0.6, PHP 4 )

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

説明

int mt_rand ( int [min], int [max])

古いlibcの多くの乱数発生器は、怪しげであるか特性が不明であったり し、また低速でした。デフォルトでは、PHP は rand() においてlibcの乱数発生器を使用します。 mt_rand() 関数は、その代替品となるものです。 この関数は、既知の特性を有する乱数生成器である Mersenne Twister を使用し、暗号用途に適した乱数を生成します。 この関数は、平均的な libc の相当品よりも 4 倍高速です。 Mersenne Twister のホームページは、http://www.math.keio.ac.jp/~matumoto/emt.html にあります。 MT ソースの最適化された版は、http://www.scp.syr.edu/~marc/hawk/twister.html にて入手可能です。

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

使用する前にmt_srand() により乱数生成器にシー ドを与えることを忘れないようにして下さい。

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

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