random_int
(PHP 7)
random_int — 暗号論的に安全な疑似乱数を生成する
説明
random_int
( int $min
, int $max
) : int
ポーカーゲームやカードデッキのシャッフルのような、 偏りがない結果が重要になる用途に合う、 暗号学的にランダムな整数を生成します。
この関数が使う不規則性のソースはつぎのとおりです。
- Windows では、常に » CryptGenRandom() を使います。PHP 7.2.0 以降は、常に » CNG-API を使うようになりました。
- Linux では、システムコール » getrandom(2) があればそれを使います。
- その他のプラットフォームでは、
/dev/urandom
を使います。 - これらがいずれも使えない場合は、 Exception をスローします。
注意:
この関数は PHP 7.0 で追加されたものですが、PHP 5.2 から 5.6 までのバージョンで使える » ユーザーランドの実装 も公開されています。
パラメータ
min
- 返される最小値。 この値は、
PHP_INT_MIN
以上でなければなりません。 max
- 返される最大値。 この値は、
PHP_INT_MAX
以下でなければなりません。
返り値
min
と max
の範囲で、
暗号学的に安全なランダムな整数値を返します (min と max を含みます)
エラー / 例外
- 適切な不規則性のソースが見つからない場合は Exception をスローします。
- 無効なパラメータが指定された場合は TypeError をスローします。
-
max
がmin
より小さい場合、 Error がスローされます。
例
例1 random_int() の例
<?phpvar_dump(random_int(100, 999));var_dump(random_int(-1000, 0));?>
上の例の出力は、 たとえば以下のようになります。
int(248) int(-898)