ホームページ  >  記事  >  バックエンド開発  >  php mt_rand() と rand() の違いは何ですか

php mt_rand() と rand() の違いは何ですか

青灯夜游
青灯夜游オリジナル
2021-10-19 18:40:252679ブラウズ

相違点: 1. パラメータを省略した場合、rand() で生成される乱数は 0 ~ getrandmax() の範囲になりますが、mt_rand() で生成される乱数は 0 ~ mt_getrandmax() の範囲になります。 mt_rand() のパフォーマンスは rand() よりも優れています。

php mt_rand() と rand() の違いは何ですか

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

rand() と mt_rand() は両方の関数 ランダムな整数を生成するには 2 つの使用形式があります:

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

最初の形式の場合:

rand() によって生成される乱数は次のとおりです。 from 0 to Between getrandmax()

mt_rand() によって生成される乱数は 0 と mt_getrandmax() の間です。

2 番目の形式の場合:

rand() は $min から $max までの乱数を生成します

mt_rand() は $min から $max までの乱数を生成します

比較:

mt_rand() は、rand() よりも優れた乱数シードを蒔くため、より優れた乱数生成器であり、そのパフォーマンスは rand() より 4 倍高速であり、mt_getrandmax( ) はより大きな数値範囲を表します

PS: ランダムな浮動小数点数の生成

PHP マニュアルにデモがあります

function randomFloat($min = 0, $max = 1) {
    return $min + mt_rand() / mt_getrandmax() * ($max - $min);
}

var_dump(randomFloat());
var_dump(randomFloat(2, 20));

推奨学習:「PHP ビデオ チュートリアル

以上がphp mt_rand() と rand() の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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