WEBデザイン 陽炎稲妻水の月

初心者がwebデザインについて勉強しています。

【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>';
}

ブラウザでは、以下のような結果が表示されます。

f:id:sandw:20160713173033p:plain


【例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 'その他';
}