Php/docs/function.mt-srand

提供:Dev Guides
< Php
移動先:案内検索

mt_srand

(PHP 4, PHP 5, PHP 7)

mt_srandメルセンヌ・ツイスター乱数生成器にシードを指定する


説明

mt_srand ([ int $seed [, 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();?>

参考

  • mt_rand() - メルセンヌ・ツイスター乱数生成器を介して乱数値を生成する
  • mt_getrandmax() - 乱数値の最大値を表示する
  • srand() - 乱数生成器を初期化する