PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

rand - 乱数を生成する | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

rand

(PHP 4, PHP 5, PHP 7)

rand乱数を生成する

説明

int rand ( void )
int rand ( int $min , int $max )

オプションの引数 min,max を省略してコールした場合、rand() は 0 と getrandmax() の間の擬似乱数(整数)を返します。 例えば、5 から 15 まで(両端を含む)の乱数を得たい場合、 rand(5, 15) とします。

警告

この関数が生成する値は、暗号学的に安全ではありません。そのため、これを暗号として使ってはいけません。暗号学的に安全な値が必要な場合は、random_int()random_bytes() あるいは openssl_random_pseudo_bytes() を使いましょう。

注意: (Windows のような)いくつかのプラットフォームでは、getrandmax() は 32767 と小さな値となっています。 32767 より広い範囲にしたい場合、 min および max を指定することで、 これより大きな範囲の乱数を生成することができます。 もしくは、 mt_rand() をかわりに使用してみてください。

注意: PHP 7.1.0 以降、rand() は、 mt_rand() と同じ乱数生成器を使います。 下位互換性を保持するために、rand() allows max to be smaller than min as opposed to returning FALSE as mt_rand().

パラメータ

min

返す値の最小値 (デフォルトは 0)。

max

返す値の最大値 (デフォルトは getrandmax())。

返り値

min (あるいは 0) から max (あるいは getrandmax()、それぞれ端点を含む) までの間の疑似乱数値を返します。

変更履歴

バージョン 説明
7.1.0 rand() は、mt_rand() のエイリアスになりました。

例1 rand() の例

<?php
echo rand() . "\n";
echo 
rand() . "\n";

echo 
rand(515);
?>

上の例の出力は、 たとえば以下のようになります。

7771
22264
11

注意

警告

min から max までの幅を mt_getrandmax() の範囲内におさめる必要があります。 つまり、(max - min) <= mt_getrandmax() でなければいけないということです。この範囲をこえてしまうと、 rand() が返す値のランダム性が、 低品質になってしまいます。

参考

  • srand() - 乱数生成器を初期化する
  • getrandmax() - 乱数の最大値を取得する
  • mt_rand() - メルセンヌ・ツイスター乱数生成器を介して乱数値を生成する
  • random_int() - Generates cryptographically secure pseudo-random integers
  • random_bytes() - Generates cryptographically secure pseudo-random bytes
  • openssl_random_pseudo_bytes() - 疑似乱数のバイト文字列を生成する


忘却曲線を使ってこの関数を確実に記憶に残す

フォーラムで「rand - 乱数を生成する」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | rand - 乱数を生成する」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: