【PHP】ランダムな数値を出力する「rand()」「mt_rand()」

Pocket

今回はPHPで使用できる、ランダムな数値を生成する「rand()」関数の使い方をメモしていきます。
RPGやギャンブルなど、ゲームプログラムでは結構使われる関数のようですね。
しっかり使いこなせるようになりたいです(`・ω・´)

「rand()」 関数とは

ランダムな整数を生成するPHPの関数です。引数を指定しなければ非常に大きな整数をランダムで生成します。
引数に”最小値”と”最大値”を設定した場合、その間の範囲の数値をランダムに生成します。

 

それではサンプルコードで見てみましょう。まずは引数なしで数値を生成してみます。

「rand()」 関数の引数無しで、数値をランダム生成する

実行結果は以下の通りです。
非常に大きな数値で、ランダムな数値が生成されました。

 

「rand()」 関数の引数に、最小値と最大値を設定して、範囲内でランダム数値を生成する

実行結果は以下になります。
最小値に「0」、最大値に「10」、すなわち「0~10」までの間の数値でランダム生成できていることが分かると思います。
これを利用してサイコロの「1~6」や、トランプの「1~13」といった数値をランダム生成することができます。

「mt_rand()」 関数というランダムな数値を生成する関数もある?

実は 「rand()」 関数は古い、乱数発生器という技術が用いられているようで、様々な問題がありました。その中で問題とされていたのが処理速度が遅いという問題でした。mt_rand() 関数はこの点を改善した関数であり、「rand()」 関数の4倍もの処理速度があると言われています。
「rand()」 関数と使い方は全く同じなので、これから使用するならこちらのほうがよさそうですね。

終わりに

「rand()」関数の使用方法についてはまだまだ奥が深い使い方があります。例えば今回は記述していませんが、小数点以下の数値をランダムで生成したり、ランダムに文字列を生成したりすることができます。
これらの使い方も別記事でメモしていきたいと思っています。
それでは今回はここまでです。お疲れ様でした(・ω・)ノシ

エッグ

シェアする

コメントを残す

メールアドレスが公開されることはありません。

コメントする