PHP rand()関数の使い方を徹底解説!乱数生成の基本と実例
rand()関数とは
rand()関数は、擬似乱数生成技術を用いて整数(int型)を返すPHPの組み込み関数です。引数を指定しない場合、返される値の範囲はデフォルトで「0」から「getrandmax()」が返すプラットフォーム依存の最大値までとなります。64ビット版Windows OSでは、この最大値は2147483647です。
rand()関数は、引数なしで呼び出すこともできますし、最小値(min)と最大値(max)を指定して呼び出すことも可能です。この関数は常に整数を返します。
構文
rand ( void ) : int rand ( int $min , int $max ) : int
パラメータ
| 番号 | パラメータと説明 |
|---|---|
| 1 | min 乱数を取得する範囲の下限値。デフォルトは0です。 |
| 2 | max 乱数を取得する範囲の上限値。デフォルトはgetrandmax()の戻り値です。 |
戻り値
PHPのrand()関数は、擬似乱数生成技術を用いて、minからmaxまでの範囲内の整数を返します。
注意: この関数は擬似乱数を生成するため、暗号化などのセキュリティ目的での使用は推奨されていません。セキュリティ用途には random_int() や random_bytes() の使用を検討してください。
対応するPHPバージョン
この関数は、PHP 4.x、PHP 5.x、PHP 7.x のすべてのバージョンで利用可能です。
使用例1:引数なしで呼び出す
次の例では、引数を指定せずにrand()を呼び出し、ランダムな整数を取得しています。
<?php echo "引数なしのrand()による乱数 = " . rand() . "\n"; echo "もう一度引数なしのrand()による乱数 = " . rand() . "\n"; ?>
出力結果
乱数であるため、実行するたびに異なる値が出力される可能性があります。
引数なしのrand()による乱数 = 1663374457 もう一度引数なしのrand()による乱数 = 888196648
使用例2:minとmaxを指定する
次の例では、rand()関数に最小値と最大値の引数を指定しています。
<?php
echo "rand(11,30) = " . rand(11,30) . "\n";
echo "rand(11,30) = " . rand(11,30) . "\n";
?>出力結果
rand(11,30) = 29 rand(11,30) = 22
使用例3:小数点以下は切り捨てられる
minおよびmaxパラメータに浮動小数点数を渡した場合、小数部分は無視されます。
<?php
echo "rand(10.5,50.95) = " . rand(10.55, 50.95) . "\n";
?>出力結果
rand(10.5,50.95) = 45
使用例4:文字列を指定するとエラーになる
minまたはmaxパラメータに文字列を指定すると、エラーが発生します。
<?php
echo "rand("aa", "bb") = " . rand("aa","bb") . "\n";;
?>出力結果
PHP Parse error: syntax error, unexpected 'aa' (T_STRING), expecting ',' or ';'
-
PHPのlog()関数とは?自然対数の計算方法と使い方を解説
定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l
-
PHPのrand()関数の使い方!乱数を生成する方法をわかりやすく解説
PHPのrand()関数は、ランダムな整数(乱数)を生成するための関数です。引数を指定しない場合は広い範囲から乱数が返され、最小値と最大値を指定することで、特定の範囲内の乱数を取得することもできます。 構文 rand(); または rand(min_range, max_range); パラメータ min_range − 返される乱数の最小値です。デフォルトは0です。 max_range − 返される乱数の最大値です。 戻り値 rand()関数は、min_rangeからmax_rangeまでの範囲内にあるランダムな整数を返します。 使用例①:引数なしで乱数を生成する まず、引数を指