こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 PHPで乱数を生成するmt_rand関数について
- mt_rand関数とは
- mt_rand関数を使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
PHPのバージョン | 8.0.3 |
XAMPPのバージョン | 8.0.3 |
PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。
mt_rand関数とは
mt_rand関数とは、乱数を生成して返す関数です。
mt_rand関数は
- 引数指定なしで実行した場合
- 最小最大指定ありで実行した場合
で返すものが異なります。
それぞれを詳しく解説します。
引数指定なしで実行した場合
引数指定なしで実行した場合は、0から2147483647の間のいずれかの値が返されます。
使い方サンプルは下記になります。
1 |
$result = mt_rand(); |
上記を実行した場合、resultには
- 234940870
- 150762299
- 695634834
などの乱数が返されます。
最小最大指定ありで実行した場合
最小最大指定ありで実行した場合は、引数で指定した最小値から最大値までの間のいずれかの値が返されます。
使い方サンプルは下記になります。
1 |
$result = mt_rand(3, 5); |
上記のサンプルだとresultには3から5までのいずれかの値が返されます。
指定する引数の意味は以下です。
第一引数(必須) | 最小値を指定 |
---|---|
第二引数(必須) | 最大値を指定 |
もし第二引数より第一引数の方が大きかった場合
1 |
Fatal error: Uncaught ValueError: mt_rand(): Argument #2 ($max) must be greater than or equal to argument #1 ($min) in C:\xampp\htdocs\rand_sample.php:11 Stack trace: #0 |
というエラーが返されます。
では、次の章で実際に使ってみます。
mt_rand関数を解説するプログラムの概要
mt_rand関数を解説するプログラムでは、
- 引数指定なしで乱数生成
- 最小最大指定ありで乱数生成
と2パターンでそれぞれ2回mt_rand関数を使います。
返された値がどうなっているのかを表示させ確認します。
phpプログラムは
C:\xampp\htdocs
配下に、【mt_rand_sample.php】というファイル名で格納しています。
PHPサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php print('■パターンその1:引数指定なしで乱数生成<br >'); $rand1 = mt_rand(); print('1回目:'.$rand1.'<br >'); $rand2 = mt_rand(); print('2回目:'.$rand2.'<br ><br >'); print('■パターンその2:最小最大指定ありで乱数生成<br >'); $randMinMax1 = mt_rand(1,100); print('1回目:'.$randMinMax1.'<br >'); $randMinMax2 = mt_rand(1,100); print('2回目:'.$randMinMax2.'<br ><br >'); ?> |
実行結果
XAMPPを起動して、【http://localhost/mt_rand_sample.php】のURLにアクセスします。
XAMPPでPHPの動かし方については、こちらの記事をご参考ください。
パターンその1では乱数の生成、パターンその2ではさらに指定した引数の最小最大の間で乱数が作成されていることを確認できました。
まとめ:mt_rand関数を使ってみよう!
以上がmt_rand関数についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント