今回は指定された範囲内のランダムな整数を生成するrand関数の解説をします。
目次
rand()関数とは?
rand関数は、指定された範囲内でランダムな整数を生成してくれる関数です。
引数として、最小値と最大値を取ります。
書き方は以下のような感じ↓
rand(1,99); //ここでは、1~99までのランダムな整数を指定していることになります
実際に使ってみよう
このrand関数を使って簡単な占いを作ってみましょう。
rand関数で今日のラッキーナンバーを占うとします。
<?php
$luckyNumber = rand(0,100);
echo "今日のラッキーナンバーは:".$luckyNumber;
?>
出力例
今日のラッキーナンバーは:100
変数にrand関数の値を入れて、出力するだけです。
簡単ですが使い方はこんな感じです。
もう少し活用した例
もう少しrand関数を活用してみましょう。
ある商品をユーザーが購入した際、合計額が出力されるプログラムを作ってみましょう。
出力される合計額は、購入される個数によって変わるので、1個買った場合とか、3個買った場合とかで
毎回確かに個数に応じた合計額が表示されるか確かめたいので、ここでrand関数を使ってみます。
コードはこんな感じ↓
<?php
// 商品の価格を設定
$price = 3000;
// ランダムな数量を生成 (1から10の範囲)
$num = rand(1, 10);
// 合計額を計算
$total = $price * $num;
// 結果を表示
echo "合計額: $total\n";
?>
こうすることでいちいち手入力で購入個数を書き換えなくても、
コードを実行するたびに指定の範囲内の個数で合計額を変化させることができます。
これで少し確認がラクになりますよね。
ちなみに
rand関数の引数を省略すると、生成されるランダムな整数の範囲は0からgetrandmax()までになります。
getrandmax()までって、どういう意味?
getrandmax()はシステムにより返ってくる値が異なる可能性がありますが、
だいたいの場合は32ビットシステムで「2,147,483,647」となります。
つまり引数を省略すると、1~2,147,483,647までの中でランダムな数字が生成されるってわけですね。
システムによって結果が変わる可能性も考慮すると、ちゃんと引数は指定したほうがいいですね。