「PHP」mt_getrandmax()で乱数の最大値を取得する

2021年11月28日

関数
mt_getrandmax(): int
mt_getrandmax — 乱数値の最大値を表示する
mt_rand() を引数なしでコールしたときに取得できる乱数の最大値を返します。 mt_rand() の max に指定する値をこの値以下にしておけば、
結果がスケールアップされて無作為性が低下することを避けられます。

使用例
1.0から1の乱数を生成します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
for($i=0;$i<5;$i++) {
echo mt_rand() / mt_getrandmax() ."<br>";
}
?>
<?php for($i=0;$i<5;$i++) { echo mt_rand() / mt_getrandmax() ."<br>"; } ?>
 <?php
for($i=0;$i<5;$i++) {
  echo mt_rand() / mt_getrandmax() ."<br>";
}
?>

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
0.02000185568817
0.052302223654605
0.59110007136646
0.47799287293013
0.41372742150618
0.02000185568817 0.052302223654605 0.59110007136646 0.47799287293013 0.41372742150618
0.02000185568817
0.052302223654605
0.59110007136646
0.47799287293013
0.41372742150618

2.乱数の最大値を表示します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
var_dump( mt_getrandmax() );
?>
<?php var_dump( mt_getrandmax() ); ?>
<?php
var_dump( mt_getrandmax() );
?>

実行結果
int(2147483647)

PHP

Posted by arkgame