乱数を生成する

# gmp_random

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_random — 乱数を生成する

警告

この関数は PHP 7.2.0 で 非推奨 になり、PHP 8.0.0 で 削除 されました。この関数に頼らないことを強く推奨します。

### 説明

function gmp_random(int `$limiter` = 20): GMP

乱数を生成します。乱数の範囲は 0 と (2 ** n) - 1 の間です。 n は limb * `limiter` のビット数になります。 `limiter` が負の場合、負の値が生成されます。

limb は GMP の内部機構です。limb のビット数は固定ではなく、 システムによって変化します。一般的には limb は 16 あるいは 32 ビットですが、それが保証されているわけではありません。

警告

この関数が生成する値は、暗号学的にセキュアではありません。そのため、これを暗号や、戻り値を推測できないことが必須の値として使っては いけません。

暗号学的にセキュアな乱数が必要な場合は、Random\Randomizer を Random\Engine\Secure と一緒に使いましょう。簡単なユースケースの場合、random_int() と random_bytes() 関数が、オペレーティングシステムの CSPRNG を使った、 便利で安全な API を提供します。

### パラメータ

`limiter`

  リミッタ。

  GMP オブジェクト、int、 あるいは数値として解釈可能な string。 文字列の場合、gmp_init() で基数を自動検出するとき (`base` に 0 を指定したとき) と同じ方法で解釈されます。

### 戻り値

ランダムな GMP 数を返します。

### 例

例1 gmp_random() の例

    <?php
    $rand1 = gmp_random(1); // 0 から 1 * limb のビット数までの間の乱数
    $rand2 = gmp_random(2); // 0 から 2 * limb のビット数までの間の乱数

    echo gmp_strval($rand1) . "\n";
    echo gmp_strval($rand2) . "\n";
    ?>

上の例の出力は以下となります。

    1915834968
    8642564075890328087

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open