【php】rand関数
rand関数について
- 乱数を生成する
- int rand ( int $min , int $max )
- オプションの引数 min,max を省略してコールした場合、rand() は 0 と getrandmax() の間の擬似乱数(整数)を返す。
- 例として、1 から 10 までの乱数を取得したい場合、rand(1, 10) と記述する。
【例1】for文を利用した乱数生成の繰り返し処理
<?php for($i=1; $i<=10; $i++){ $rnd = rand(1, 10); echo $rnd . '<br>'; }
ブラウザでは、以下のような結果が表示されます。
【例2-1】ランダム関数を用いた条件分岐(if)
<?php $rnd = rand(1, 4); var_dump( $rnd ); if ( $rnd == 1 ): echo 'グー'; elseif ( $rnd == 2 ): echo 'チョキ'; elseif ( $rnd == 3 ): echo 'パー'; else: echo 'その他'; endif;
【例2-2】ランダム関数を用いた条件分岐(switch)
<?php $rnd = rand(1, 10); var_dump( $rnd ); switch ( $rnd ){ case 1: echo 'グー'; break; case 2: echo 'グー'; break; case 3: echo 'グー'; break; default: echo 'その他'; }
補足
for文に関して、以下のように波括弧で記述しても問題ありません。また、「elseif」を「else if」と記述することもできますが、:(コロン)を利用した記述の場合は、「elseif」の記述しかできません。
<?php $rnd = rand(1, 4); var_dump( $rnd ); if ( $rnd == 1 ){ echo 'グー'; } elseif ( $rnd == 2 ) { echo 'チョキ'; } elseif ( $rnd == 3 ) { echo 'パー'; } else { echo 'その他'; }