PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHP rand()関数の使い方を徹底解説!乱数生成の基本と実例

rand()関数とは

rand()関数は、擬似乱数生成技術を用いて整数(int型)を返すPHPの組み込み関数です。引数を指定しない場合、返される値の範囲はデフォルトで「0」から「getrandmax()」が返すプラットフォーム依存の最大値までとなります。64ビット版Windows OSでは、この最大値は2147483647です。

rand()関数は、引数なしで呼び出すこともできますし、最小値(min)と最大値(max)を指定して呼び出すことも可能です。この関数は常に整数を返します。

構文

rand ( void ) : int
rand ( int $min , int $max ) : int

パラメータ

番号パラメータと説明
1min
乱数を取得する範囲の下限値。デフォルトは0です。
2max
乱数を取得する範囲の上限値。デフォルトは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 ';'
  1. 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

  2. PHPのrand()関数の使い方!乱数を生成する方法をわかりやすく解説

    PHPのrand()関数は、ランダムな整数(乱数)を生成するための関数です。引数を指定しない場合は広い範囲から乱数が返され、最小値と最大値を指定することで、特定の範囲内の乱数を取得することもできます。 構文 rand(); または rand(min_range, max_range); パラメータ min_range − 返される乱数の最小値です。デフォルトは0です。 max_range − 返される乱数の最大値です。 戻り値 rand()関数は、min_rangeからmax_rangeまでの範囲内にあるランダムな整数を返します。 使用例①:引数なしで乱数を生成する まず、引数を指