rand
(PHP 4, PHP 5)
rand — 乱数を生成する
説明
int rand
( void
)
int rand
( int
$min
, int $max
)
オプションの引数
min,max
を省略してコールした場合、 rand() は 0 と
getrandmax() の間の擬似乱数(整数)を返します。
例えば、5 から 15 まで(両端を含む)の乱数を得たい場合、
rand(5, 15) とします。
注意: (Windows のような)いくつかのプラットフォームでは、 getrandmax() は 32767 と小さな値となっています。 32767 より広い範囲にしたい場合、
minおよびmaxを指定することで、 これより大きな範囲の乱数を生成することができます。 もしくは、 mt_rand() をかわりに使用してみてください。
返り値
min (あるいは 0)
から max (あるいは getrandmax()、それぞれ端点を含む)
までの間の疑似乱数値を返します。
変更履歴
| バージョン | 説明 |
|---|---|
| 4.2.0 | 乱数生成器が自動的にシードを生成するようになりました。 |
例
例1 rand() の例
<?php
echo rand() . "\n";
echo rand() . "\n";
echo rand(5, 15);
?>
上の例の出力は、 たとえば以下のようになります。
7771 22264 11
注意
警告
この関数が生成する値は、暗号学的に安全ではありません。そのため、これを暗号として使ってはいけません。暗号学的に安全な値が必要な場合は、 openssl_random_pseudo_bytes() を使いましょう。
参考
- srand() - 乱数ジェネレータを初期化する
- getrandmax() - 乱数の最大値を取得する
- mt_rand() - よりよい乱数値を生成する
- openssl_random_pseudo_bytes() - 疑似乱数のバイト文字列を生成する