ホームページ  >  記事  >  バックエンド開発  >  PHP rand()乱数生成方法入門_PHPチュートリアル

PHP rand()乱数生成方法入門_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:13:50906ブラウズ

PHP には乱数を生成する方法がたくさんありますが、rand() はその 1 つであり、これには乱数を生成できる mt_rand() 関数もあります。違いについては説明しません。

rand() 関数はランダムな整数を返します。

文法
rand(min,max) パラメータの説明
min、max はオプションです。乱数を生成する範囲を指定します。

オプションのパラメータminmaxが指定されていない場合、rand()は0からRAND_MAXまでの擬似乱数整数を返します。たとえば、5 から 15 までの範囲の乱数が必要な場合は、rand(5, 15) を使用します。

PHP で乱数を生成するには、次の 3 つの手順を実行します:

//ステップ 2: シードを使用して乱数ジェネレーターを初期化します
コードは次のとおりです コードをコピー
//最初のステップ: シードを初期化する
$seedarray =microtime(); $seedstr =split(" ",$seedarray,5); $seed =$seedstr[0]*1000000;



コードは次のとおりですコードをコピーsrand($seed) //ステップ 3: 指定された範囲内の乱数を生成します


コードは次のとおりですコードをコピー$ランダム =ランド(0,1000); 乱数を生成するためのより単純化されたコードもあります:
このうち、最初の 2 つのステップは変更する必要はありません。最後のステップ (0, 1000) は、0 から 1000 (0 を含む) までの乱数を生成することを意味します。この範囲は必要な範囲に変更できます。 。

コードは次のとおりです

コードをコピーsrand((double)microtime()*1000000); $random =rand(0,1000);ヒントとメモ


その中で、microtime() は、現在のミリ秒数とタイムスタンプの 2 つの値を返します。乱数を抽出しているだけなので、ミリ秒だけを使用します。 (double)microtime() は、現在のミリ秒値のみを返すことを意味します。 microtime() は秒単位のミリ秒なので、値はすべて 1000000 を掛けて整数に変換します。コードの 2 番目の文は、0 から 1000 までの乱数を生成することを示します。

注: 一部のプラットフォーム (Windows など) では、RAND_MAX は 32768 のみです。 32768 より大きい範囲が必要な場合は、min パラメーターと max パラメーターを指定して RAND_MAX より大きい数値を生成するか、代わりに mt_rand() の使用を検討してください。

注: PHP 4.2.0 では、srand() 関数または mt_srand() 関数を使用して乱数ジェネレーターをシードする必要はなくなり、自動的に行われるようになりました。
注: 3.0.7 より前のバージョンでは、最大は範囲を意味します。これらのバージョンで上記の例と同じ 5 から 15 までの乱数を取得するには、短い例は rand (5, 11) です。

http://www.bkjia.com/PHPjc/629086.htmlwww.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/629086.html技術記事 PHP では乱数を生成する方法は数多くありますが、rand() はそのうちの 1 つであり、mt_rand() 関数でも乱数を生成できます。違いについては説明しません。見てみましょう。 rand() 関数はランダムな整数を返します。 ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。