ホームページ > バックエンド開発 > PHPチュートリアル > PHP乱数コード/PHPでランダムに生成された数値の例

PHP乱数コード/PHPでランダムに生成された数値の例

WBOY
リリース: 2016-06-13 13:05:48
オリジナル
765 人が閲覧しました

php乱数コード/php乱数生成例

//シードユーザー定義関数はシードとしてマイクロ秒を使用します
function seed()
{
list($msec, $sec) =explode(' ', microtime());
return (float)
}
//乱数ジェネレーターのシードを播種し、srand 関数を使用してシード関数の戻り結果を呼び出します。
srand(seed());
//生成された乱数を出力します。乱数の範囲は 10 ~ 100 です。
echo rand(10,100)>?>;
上の質問と下の質問は違いませんか? どちらも 10 ~ 100 の数字をランダムに出力します。
echo ランド(10,100);
?>
mt_rand(10,100);

srand はシードです。設定されていない場合、デフォルトは 1 です。

rand は通常、シードをパラメータとして使用する固定演算です。

シードを設定したり、固定シードを設定したりせずに、rand
を実行し、ブラウザを閉じて再度開き、再度 rand
を実行するとわかります。結果は常に同じです。
しかし、乱数をシードとして使用すると、各実行の結果はほぼランダムになります

まず、rand() 関数、rand([int min], [int max]) について話しましょう。 この関数は、最小値と最大値の間の乱数を受け取ります。乱数の最大値と最小値の範囲が指定されていない場合、この関数は 0 から RAND_MAX までの乱数を自動的に選択します。

しかし、rand() 関数のみを使用すると、乱数が非常に乱数になります。乱数を取得して新しい乱数シードを構成する前に、毎回 srand() 関数を使用するのが最善です。

次の使用法を説明します (これが、これら 2 つの関数の一般的な使用方法です)。
srand((double)microtime()*1000000);
$rand_number= rand();

microtime() は、現在のミリ秒とタイムスタンプの 2 つの値を返します。乱数を抽出したい場合、(double)microtime() は現在のミリ秒のみを返します。価値。 。
Microtime() は秒単位のミリ秒なので、値はすべて 1000000 を掛けて整数に変換します。

;ワークフローは次のとおりです:

(1): まず、unsigned_int 型の値である「シード」を srand(); に提供します。

(2):_次に、rand() を呼び出します。これは、srand() に提供された値に基づいて乱数 (0 ~ 32767 の範囲) を返します。
(3): rand() を必要な回数だけ呼び出して、新しい乱数を継続的に取得します。
(4): rand() の出力をさらに「ランダム化」するために、いつでも新しい「シード」を srand() に提供できます。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート