PHP の srand() 関数とは?乱数生成器の初期化方法を解説
srand() 関数の定義と使い方
srand() 関数は、乱数生成器(ランダムナンバージェネレータ)に対してシード値を設定するために使用される関数です。シードの設定とは、乱数生成器を初期化することを意味します。
一般的に、乱数生成器は動作のために初期シードを必要とします。ただし PHP では、srand() を呼び出さなくても乱数生成器が自動的にシードされるため、この関数の利用は必須ではありません。あくまで任意の処理として位置づけられています。
なお、この関数には戻り値はありません。
構文
srand ([ int $seed ] ) : void
パラメータ
| 番号 | パラメータと説明 |
|---|---|
| 1 | seed シードとして使用される整数値です。省略した場合は、ランダムな値が自動的に設定されます。 |
戻り値
この関数は何も値を返しません(void)。
対応する PHP バージョン
srand() 関数は、PHP 4.x、PHP 5.x、および PHP 7.x のすべてのバージョンで利用可能です。
使用例 1:固定シードによる乱数生成
以下の例では、rand() 関数を使用する前に、まず乱数生成器を srand() で初期化しています。
<?php
srand(5);
echo "rand(1,100)=", rand(1,100);
?>
出力結果
実行すると、次のような結果が出力されます。
rand(1,100)=12
使用例 2:現在のタイムスタンプによる初期化
次の例では、現在の時刻(タイムスタンプ)を使って乱数生成器を初期化しています。これにより、実行ごとに異なる乱数列が得られます。
<?php
srand(time());
echo "rand()=", rand();
?>
出力結果
実行時刻によって異なりますが、例えば次のような結果になります。
rand()=548287992
-
PHPのsrand()関数とは?乱数生成器へのシード設定方法と使い方
PHPのsrand()関数は、乱数生成器(ランダムジェネレーター)にシード値を設定するための関数です。シード値を指定することで、乱数の生成パターンを制御できます。注意: PHP 4.2.0以降では、乱数生成器が自動的にシードされるようになったため、現在この関数を明示的に呼び出す必要はありません。古いコードの互換性維持以外での使用は推奨されません。構文srand(seed)パラメータseed − 乱数生成器に設定するシード値(整数)を指定します。戻り値srand()関数は何も返しません(戻り値なし)。使用例以下の例では、mktime()関数で取得したタイムスタンプをシード値として設定し、mt_r
-
PHPのrand()関数の使い方!乱数を生成する方法をわかりやすく解説
PHPのrand()関数は、ランダムな整数(乱数)を生成するための関数です。引数を指定しない場合は広い範囲から乱数が返され、最小値と最大値を指定することで、特定の範囲内の乱数を取得することもできます。 構文 rand(); または rand(min_range, max_range); パラメータ min_range − 返される乱数の最小値です。デフォルトは0です。 max_range − 返される乱数の最大値です。 戻り値 rand()関数は、min_rangeからmax_rangeまでの範囲内にあるランダムな整数を返します。 使用例①:引数なしで乱数を生成する まず、引数を指