ホームページ >バックエンド開発 >PHPチュートリアル >PHP mt_rand() で乱数を生成する方法

PHP mt_rand() で乱数を生成する方法

WBOY
WBOYオリジナル
2016-06-20 13:04:591043ブラウズ

PHP で乱数 mt_rand() を生成する方法

PHP では、mt_rand() は rand() より 4 倍高速ですが、多くの古い libc 乱数ジェネレーターには不確実性と未知数の機能があり、とても遅いです。 PHP の rand() 関数は、デフォルトで libc 乱数ジェネレーターを使用します。 mt_rand() 関数は非公式にこれを置き換えるために使用されます。この関数は、メルセンヌ ツイスターの既知の機能を乱数生成器として使用しており、mt_rand() は libc が提供する rand() よりも平均して 4 倍高速に乱数値を生成できます。

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

int mt_rand ( [int min, int max] )

そうでない場合オプションのパラメータ min と max を指定すると、mt_rand() は 0 から RAND_MAX までの擬似乱数を返します。

たとえば、5 から 15 までの乱数が必要な場合は、mt_rand(5, 15) を使用します。

注: PHP 4.2.0 では、srand() 関数または mt_srand() 関数を使用して乱数ジェネレーターをシードする必要はなくなり、自動的に行われるようになりました。

rand — ランダムな整数を生成します

(PHP 3, PHP 4, PHP 5)

int rand ( [int min, int max] )

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

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

注: PHP 4.2.0 では、srand() 関数または mt_srand() 関数を使用して乱数ジェネレーターをシードする必要はなくなり、自動的に行われるようになりました。

例:

<?php <br />echo(mt_rand()); <br />echo(mt_rand()); <br />echo(mt_rand(10,100)); <br /><p>?> 

出力は同様です:

315066688
513200078
22


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。