PHP マニュアル
前のページ |  | 次のページ

# 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() も参照ください。

前のページ | ホーム | 次のページ
mt_getrandmax | 上に戻る | mt_srand