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

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

青灯夜游
リリース: 2023-03-13 12:22:01
オリジナル
2900 人が閲覧しました

相違点: 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 サイトの他の関連記事を参照してください。

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