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

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

PHPのrand()関数は、ランダムな整数(乱数)を生成するための関数です。引数を指定しない場合は広い範囲から乱数が返され、最小値と最大値を指定することで、特定の範囲内の乱数を取得することもできます。

構文

rand();
または
rand(min_range, max_range);

パラメータ

  • min_range − 返される乱数の最小値です。デフォルトは0です。

  • max_range − 返される乱数の最大値です。

戻り値

rand()関数は、min_rangeからmax_rangeまでの範囲内にあるランダムな整数を返します。

使用例①:引数なしで乱数を生成する

まず、引数を指定せずにrand()関数を呼び出した場合の例を見てみましょう。

<?php
   echo(rand() . "<br>");
   echo(rand() . "<br>");
   echo(rand() . "<br>");
   echo(rand() . "<br>");
   echo(rand() . "<br>");
   echo(rand());
?>

出力

1581227270<br>1094001227<br>306337052<br>151211887<br>7894804<br>115835633

このように、引数を指定しない場合は非常に大きな数値がランダムに生成されます。実行するたびに結果は異なります。

使用例②:範囲を指定して乱数を生成する

次に、最小値と最大値を指定して、特定の範囲内の乱数を取得する例を見てみましょう。

<?php
   echo(rand(2, 5) . "<br>");
   echo(rand(90, 190));
?>

出力

4<br>114

最初の呼び出しでは「2〜5」の範囲から「4」が、次の呼び出しでは「90〜190」の範囲から「114」がそれぞれ返されました。このように、第1引数に最小値、第2引数に最大値を渡すことで、目的の範囲内の乱数を簡単に取得できます。

補足:用途に応じた乱数関数の使い分け

PHP 7.1以降、rand()関数はmt_rand()関数のエイリアスとして動作し、高速な乱数生成が可能になっています。ただし、パスワードリセット用トークンの生成など、セキュリティが重要な場面では、暗号学的に安全なrandom_int()関数を使用することが推奨されています。用途に応じて適切な関数を選びましょう。

  1. PHPのlog10()関数とは?常用対数の計算方法と具体例をわかりやすく解説

    定義と使用方法log10() 関数は、数値の常用対数(底が10の対数)を計算するための関数です。常用対数は「10を底とする対数」とも呼ばれ、log10x を求める際に使用されます。自然対数との間には、次のような関係式が成り立ちます。log10x = logex / loge10この式に基づけば、たとえば次のように計算できます。log10100 = loge100 / loge10 = 2PHPでは、この常用対数の計算を log10() 関数が担っています。構文log10 ( float $arg ) : floatパラメータ番号パラメータと説明1arg常用対数(底10の対数)を計算したい数値を

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

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