PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

mt_srand - メルセンヌ・ツイスター乱数生成器にシードを指定する | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

mt_srand

(PHP 4, PHP 5, PHP 7)

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

説明

void mt_srand ([ int $seed [, int $mode = MT_RAND_MT19937 ]] )

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();
?>

参考

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


忘却曲線を使ってこの関数を確実に記憶に残す

フォーラムで「mt_srand - メルセンヌ・ツイスター乱数生成器にシードを指定する」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | mt_srand - メルセンヌ・ツイスター乱数生成器にシードを指定する」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: