PHPのlcg_value()関数とは?乱数生成の基本と使い方を解説
lcg_value()関数の定義と使い方
lcg_value()関数は、0から1までの範囲でランダムな数値(浮動小数点数)を生成するPHP組み込み関数です。
「LCG」とは「線形合同法(Linear Congruential Generator)」の略称です。この手法は、不連続な区分線形方程式を用いて擬似乱数列を計算するアルゴリズムで、擬似乱数生成アルゴリズムの中でも最も古くから知られているものの一つです。
構文
lcg_value ( void ) : float
パラメータ
この関数は引数を受け取りません。
戻り値
lcg_value()関数は、0.0以上1.0以下の範囲にある擬似乱数のfloat値を返します。
対応するPHPバージョン
この関数は、PHP 4.x、PHP 5.x、およびPHP 7.xのすべてのバージョンで利用可能です。
使用例
以下に、lcg_value()関数の実際の使用例を示します。
<?php
echo "lcg_value() = " . lcg_value() . "\n";
echo "lcg_value() = " . lcg_value();
?>
出力結果
上記のコードを実行すると、次のような結果が出力されます(実行ごとに値は異なります)。
lcg_value() = 0.45920201711279
lcg_value() = 0.18118693614628
補足:lcg_value()関数を使う際の注意点
lcg_value()関数が返す値は実行のたびに変化しますが、線形合同法による擬似乱数であるため、暗号学的なセキュリティが必要な用途には適していません。セキュリティが求められる場面では、random_int()やrandom_bytes()など、より安全な関数の使用を検討してください。また、シード値を指定できないため、再現性のある乱数列が必要なテストケースなどではmt_rand()やsrand()を組み合わせた方法が便利です。
-
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のlcg_value()関数とは?0〜1の範囲で擬似乱数を生成する方法
lcg_value()関数は、PHPの組み込み関数の一つで、0から1の範囲内の擬似乱数を返します。名前の「LCG」は「Linear Congruential Generator(線形合同法)」に由来しており、複数の線形合同法ジェネレーターを組み合わせて乱数を生成する仕組みが採用されています。 構文 lcg_value() パラメータ この関数はパラメータを受け取りません。 戻り値 lcg_value()関数は、0から1の範囲にある浮動小数点数(float型)の擬似乱数値を返します。 使用例 まずは、基本的な使い方を見てみましょう。 <?php &nbs