(PHP 4, PHP 5, PHP 7, PHP 8)
mt_srand — メルセンヌ・ツイスター乱数生成器にシードを指定する
$seed
= 0, int $mode
= MT_RAND_MT19937
): void
seed
により乱数生成器にシードを指定します。
seed
を指定しなかった場合は、
ランダムな値を設定します。
注意: srand() または mt_srand() によりランダム数生成器にシードを与える必要はありません。 これは、この処理が自動的に行われるためです。
seed
任意の整数値で指定するシード値。
mode
以下のいずれかの定数を使用して、使用するアルゴリズムの実装を指定します。
定数 | 説明 |
---|---|
MT_RAND_MT19937 |
PHP 7.1.0より利用可能となっている、正しく修正されたメルセンヌ・ツイスター実装を使用します。 |
MT_RAND_PHP |
PHP 7.1.0以前でのデフォルトとして使用されていた、正しくないメルセンヌ・ツイスター実装を使用します。 このモードは、後方互換性を保つ際に使用できます。 |
値を返しません。
バージョン | 説明 |
---|---|
7.1.0 | srand() は、mt_srand() の エイリアスになりました。 |
7.1.0 |
mt_rand() は、正しく修正されたメルセンヌ・ツイスター・アルゴリズムを使用するように 更新されました。
以前のアルゴリズムに戻すには、mt_srand() に MT_RAND_PHP を
第2引数として指定してください。
|
例1 mt_srand() の例
<?php
// マイクロ秒でシードを指定します
function make_seed()
{
list($usec, $sec) = explode(' ', microtime());
return $sec + $usec * 1000000;
}
mt_srand(make_seed());
$randval = mt_rand();
?>