読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

PHPで乱数を発生させる関数rand()とmt_rand()を使うサンプル

<スポンサーリンク>

それっぽいFacebookの占いアプリなんかを作る時は、乱数を使って適当に数字を取得できると便利だろう。
そんな乱数を取得する関数はrand()とmt_rand()がある。
mt_rand()はrand()の改良版で、高速に乱数を発生させることができる。

関数の最大値を調べるのはgetrandmax()とmt_getrandmax()関数を使う。
最大値と最小値を省略すると、0からRAND_MAXまでの乱数が発生する。

サンプルはこんな感じになる。

<!DOCTYPE>
<html>
<head>
<meta charset="utf-8">
<title>乱数を発生させる</title>
</head>
<body>
<?php
//PHP4.2.0より前は、srand()関数を使ってジェネレータを初期化する。
srand();

$number1 = rand();
$number2 = rand();

echo "<p>乱数ひとつめ:" . $number1;
echo "<br>乱数ふたつめ:" . $number2;

$number_min = 1;
$number_max = 100;

$number1 = rand($number_min, $number_max);
$number2 = rand($number_min, $number_max);

echo "<p>乱数ひとつめ:" .$number1;
echo "<br>乱数ふたつめ:" .$number2;
echo "<br>getrandmax()→乱数の最大値:" .getrandmax();

//mt_rand()を使ってみる
$number_min = 50;
$number_max = 100;

$number1 = mt_rand($number_min, $number_max);
$number2 = mt_rand($number_min, $number_max);

echo "<p>乱数ひとつめ:" .$number1;
echo "<br>乱数ふたつめ:" .$number2;
echo "<br>mt_getrandmax()→乱数の最大値:" .mt_getrandmax();


?>
</body>
</html>

結果をブラウザで表示させてみると、こうなる。

乱数ひとつめ:7940
乱数ふたつめ:7405

乱数ひとつめ:44
乱数ふたつめ:5
getrandmax()→乱数の最大値:32767

乱数ひとつめ:67
乱数ふたつめ:96
mt_getrandmax()→乱数の最大値:2147483647

この記事を書くために読んだ本

PHPによるWebアプリケーションスーパーサンプル 第2版

PHPによるWebアプリケーションスーパーサンプル 第2版

とにかくサンプルが豊富で、簡単なプログラムをたくさん動かすことができる本。