mt_randメルセンヌ・ツイスター乱数生成器を介して乱数値を生成する 説明
int mt_rand()
int mt_rand(int
$min, int $max)古い libc の多くの乱数発生器は、怪しげであるか特性が不明であったりし、 また低速でした。 mt_rand 関数は、古い rand の代替品となるものです。 この関数は、その特性が既知の乱数生成器 » メルセンヌ・ツイスター を使用し、 平均的な libc の rand()よりも 4 倍以上高速に乱数を生成します。
オプションの引数
警告
この関数が生成する値は、暗号学的にセキュアではありません。そのため、これを暗号や、戻り値を推測できないことが必須の値として使っては いけません。 暗号学的にセキュアな乱数が必要な場合は、Random\Randomizer を Random\Engine\Secure と一緒に使いましょう。簡単なユースケースの場合、random_int と random_bytes 関数が、オペレーティングシステムの CSPRNG を使った、 便利で安全な API を提供します。 警告
この関数は、乱数のソースとしてグローバルな Mt19937 (メルセンヌ・ツイスター) インスタンスを使用するため、グローバルな Mt19937 を使用する他のすべての関数と状態を共有します。 これらの関数のいずれかを使用すると、スコープに関係なく、すべての他の関数のシーケンスも進みます。 mt_srand または srand に既知の値を指定してシードすることで再現可能なシーケンスを生成する場合、この関数からの出力も再現可能になります。 新しく書くコードでは、すべて Random\Randomizer のメソッドを使用することを推奨します。 パラメータ
戻り値
エラー / 例外
変更履歴
例
例1 mt_rand の例 上の例の出力は、 たとえば以下のようになります。 1604716014 1478613278 6 注意警告
参考
|