PHP では、多くの場合、いくつかの操作を実行するために乱数を使用する必要があります。乱数の範囲を同じにする必要がある場合がありますが、毎回生成される乱数は異なります。では、さまざまな乱数を生成するにはどうすればよいでしょうか?
現在の時刻のタイムスタンプを乱数生成のシードとして使用できます。タイムスタンプは、1970 年 1 月 1 日 00:00:00 GMT から現在時刻までの秒数です。たとえば、次のコードを使用して乱数を生成できます。
mt_srand(time()); $random_number = mt_rand(1, 100);
上記のコードでは、mt_srand(time())
は、現在のタイムスタンプをシード番号として使用することを意味します。 mt_rand(1, 100)
は、1 から 100 までの乱数を生成することを意味します。
ランダムな文字列を乱数のシードとして使用できます。たとえば、次のコードを使用して乱数を生成できます。
$seed = str_split('abcdefghijklmnopqrstuvwxyz' .'ABCDEFGHIJKLMNOPQRSTUVWXYZ' .'0123456789'); shuffle($seed); $random_number = ''; foreach (array_rand($seed, 10) as $k) { $random_number .= $seed[$k]; }
上記のコードでは、最初にすべての可能な文字を含む文字列を文字配列 $seed
に分割し、次にcall shuffle
この関数はこの配列を再配置します。次に、array_rand
関数を使用して配列から 10 文字をランダムに選択し、最後にこれらの文字を乱数として連結します。
PHP の uniqid
関数は一意の ID を生成でき、それを使用して乱数を生成することもできます。たとえば、次のコードを使用して乱数を生成できます。
$random_number = uniqid(mt_rand(), true);
上記のコードでは、mt_rand()
関数はランダムな整数を返し、これは乱数のプレフィックスとして使用されます。 uniqid
function 、true
パラメータは、マイクロ秒のタイムスタンプをサフィックスとして使用することを示します。
概要
タイムスタンプ、ランダムな文字、および uniqid
関数を使用すると、さまざまな乱数を生成できます。実際に使用する場合は、状況に応じて適切な方法を選択する必要があります。乱数は真の乱数ではなく、乱数発生器に依存する疑似乱数であることに注意してください。したがって、真に安全な乱数が必要な場合は、特殊な暗号ライブラリが必要になります。
以上がPHPでさまざまな乱数を生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。