Php/docs/function.random-int

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

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 以下でなければなりません。


返り値

minmax の範囲で、 暗号学的に安全なランダムな整数値を返します (min と max を含みます)


エラー / 例外

  • 適切な不規則性のソースが見つからない場合は Exception をスローします。
  • 無効なパラメータが指定された場合は TypeError をスローします。
  • maxmin より小さい場合、 Error がスローされます。


例1 random_int() の例

<?phpvar_dump(random_int(100, 999));var_dump(random_int(-1000, 0));?>

上の例の出力は、 たとえば以下のようになります。


int(248)
int(-898)

参考

  • random_bytes() - 暗号論的に安全な、疑似ランダムなバイト列を生成する