相違点: 1. パラメータを省略した場合、rand() で生成される乱数は 0 ~ getrandmax() の範囲になりますが、mt_rand() で生成される乱数は 0 ~ mt_getrandmax() の範囲になります。 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 サイトの他の関連記事を参照してください。