(PHP 4, PHP 5, PHP 7)
mt_srand — メルセンヌ・ツイスター乱数生成器にシードを指定する
$seed
[, int $mode
= MT_RAND_MT19937
]] ) : void
seed
により乱数生成器にシードを指定します。
seed
を指定しなかった場合は、
ランダムな値を設定します。
注意: srand() または mt_srand() によりランダム数生成器にシードを与える必要はありません。 これは、この処理が自動的に行われるためです。
seed
任意の整数値で指定するシード値。
mode
以下のいずれかの定数を使用して、使用するアルゴリズムの実装を指定します。
定数 | 説明 |
---|---|
MT_RAND_MT19937 |
Uses the fixed, correct, メルセンヌ・ツイスター実装, available as of PHP 7.1.0. |
MT_RAND_PHP |
Uses an incorrect メルセンヌ・ツイスター実装 which was used as the default up till PHP 7.1.0. このモードは、下位互換性の目的で使用可能です。 |
値を返しません。
バージョン | 説明 |
---|---|
7.1.0 | srand() は、mt_srand() のエイリアスになりました。 |
7.1.0 |
mt_rand()has been updated to use the fixed, correct, version of
メルセンヌ・ツイスター・アルゴリズム. To fall back to the old behaviour, use mt_srand() with MT_RAND_PHP as the second paramter.
|
5.2.1 | PHP の メルセンヌ・ツイスター実装は、Richard Wagner による新たなシード生成アルゴリズムを使用するようになりました。 これまでのバージョンと同じシード値で同じ乱数列が生成されることはなくなりました。 この振る舞いが再び変わる見込みはありませんが、 それに関わらずこの振る舞いに頼るのは安全ではありません。 |
例1 mt_srand() の例
<?php
// マイクロ秒でシードを指定します
function make_seed()
{
list($usec, $sec) = explode(' ', microtime());
return $sec + $usec * 1000000;
}
mt_srand(make_seed());
$randval = mt_rand();
?>