プログラムを作成するとき、データ シミュレーションやその他のニーズのために一連の乱数を生成する必要があることがよくあります。 PHP 言語では、乱数を生成する方法がたくさんあります。
1. rand() 関数を使用する
rand() 関数は、PHP で一般的に使用される乱数生成関数です。その構文は次のとおりです:
rand($min,$max);
ここで、$min と $max は生成される乱数の最小値と最大値です。生成される乱数はInt型で、戻り値は$minから$maxまでとなります。
以下はサンプル コードです:
<?php $min = 1; $max = 10; $rand_num = rand($min,$max); echo "生成的随机数是:" . $rand_num; ?>
上記のコードで生成される乱数の範囲は 1 ~ 10 で、結果は実行するたびに異なります。
2. mt_rand() 関数を使用する
mt_rand() 関数は、PHP で乱数を生成する方法でもあります。その構文は次のとおりです:
mt_rand( $min, $max);
ここでの$min、$maxの意味はrand()関数と同じで、関数の戻り値もint型になります。
以下はサンプルコードです:
<?php $min = 1; $max = 10; $rand_num = mt_rand($min,$max); echo "生成的随机数是:" . $rand_num; ?>
mt_rand() 関数を使用して生成される乱数は、基本的に rand() 関数と同じですが、大量の乱数を生成する場合は、数値が大きい場合、mt_rand() 関数は rand.() 関数よりも効率的です。
3. shuffle() 関数を使用する
shuffle() 関数は、配列をランダム化して乱数のセットを取得できます。構文は次のとおりです:
shuffle($array);
$array はランダム化される配列です。関数は配列の要素をスクランブルし、戻り値はブール値です。値は true です。
以下はサンプル コードです:
<?php $array = range(1,10); shuffle($array); echo "生成的随机数是:"; foreach($array as $value){ echo $value . " "; } ?>
上記のコードは、range() 関数を使用して 1 ~ 10 の数値配列を生成し、それから shuffle() 関数を使用してそれをスクランブルします。乱数を生成します。実行するたびに結果が異なります。
4. mt_srand() 関数を mt_rand() 関数と組み合わせて使用する
mt_srand() 関数は、乱数発生器の状態を初期化するために使用され、乱数に影響を与えます。後続の mt_rand() 関数の呼び出しによって生成されるシーケンス。構文は次のとおりです。
mt_srand($seed);
ここで、$seed は、乱数発生器の状態を初期化するために使用される整数です。以下はサンプル コードです:
<?php mt_srand((double)microtime()*1000000); $min = 1; $max = 10; $rand_num = mt_rand($min,$max); echo "生成的随机数是:" . $rand_num; ?>
上記のコードは mt_srand() 関数と mt_rand() 関数を使用しており、実行されるたびにまったく異なる乱数シーケンスを生成します。
5.random_int() 関数を使用する
random_int() は、より安全な乱数を生成することを目的として、PHP7.0 以降に追加された新しい関数です。構文は次のとおりです:
random_int($min,$max);
ここで、$min と $max は生成される乱数の最小値と最大値を表し、関数は int または false を生成します。
以下はサンプル コードです:
<?php $min = 1; $max = 10; $rand_num = random_int($min,$max); echo "生成的随机数是:" . $rand_num; ?>
上記の方法を使用すると、乱数のセットをすばやく生成し、さまざまなシナリオで使用できます。特定のアプリケーション要件に応じて、適切な乱数生成関数を選択してください。
以上がPHP は一連の乱数の生成を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。