06条件分岐
ここからは条件分岐について学んでいきます。JavaScriptとほぼ同じなのであまり難しく考えず進めていきましょう。
if文
記述方法はJavaScriptとほぼ同じです。if()の()内がtrueの時は1つ目の{}内が実行されます。
<?php
// 10 > 5 は正しいので、true と評価される。 if (true) となるので { } の中が実行される
if (10 > 5) {
echo 'ここだけ表示される' . PHP_EOL;
}
// 10 <= 5 は間違いなので、 false と評価される。if (false) となるので { } の中は実行されない
if (10 <= 5) {
echo 'ここには絶対来ない' . PHP_EOL;
}
?>if-else文
また、else文を書くことで、if文の条件式が falseの場合に実行させる処理を記述できます。
if文が実行されるとelse文は実行されず、if文が実行されないとelse文が実行されるようになります。elseは「その他」を意味する英単語です。
<?php
if (10 == 5) {
echo '10 == 5 は false なのでここは実行されない' . PHP_EOL;
} else {
echo 'if側が実行されないので、ここだけ実行される' . PHP_EOL;
}
?>上記の例だとelseの後の{}が実行されます。
if-elseif-else文
if-else文では条件分岐を2つまでしか分けることができませんでした。
しかし、実際には2の倍数の時、3の倍数の時、5の倍数の時など3つ以上に条件を分けたいときが多く存在します。
そこで用いられるのはif-elseif-else文です。
$number = mt_rand() % 10;
if ($number % 2 === 0) {
echo $number . 'は2の倍数です' . PHP_EOL;
} elseif ($number % 3 === 0) {
echo $number . 'は3の倍数です' . PHP_EOL;
} elseif ($number % 5 === 0) {
echo $number . 'は5の倍数です' . PHP_EOL;
} else {
echo $number . 'は0か1か7か9です' . PHP_EOL;
}mt_rand()は0から2147483647までの中からランダムに数字を生成します。
これを10で割ったときの余りを見ると、0から9までのランダムな数字が得られます。
PHPでは elseif()を用いて条件分岐を追加することができます。JavaScriptでは else if()でしたので、わずかに記述方法が異なります。
switch文
switch文は複数の場合に対して異なる処理を実行するための構文です。
if 文と同じく条件分岐を行いますが、特に条件が多い場合や値によって処理が分岐する場合に、switch文が見やすいと感じられることがあります。
実務でも、条件分岐が多くなる場面で switch文が使われることがあります。
switch文は、次のような場合によく使われます。
- 複数の場合に対して異なる処理を実行する場合
- 条件分岐が複雑な場合に、コードをスッキリさせるために使用する場合
switch文の構文は次のようになります。
switch (条件式) {
case 値1:
// 値1の場合に実行する処理
break;
case 値2:
// 値2の場合に実行する処理
break;
...
default:
// 上記の値以外の場合に実行する処理
break;
}switch 文は以下の3つの部分から構成されています。
- 条件式:switch文の各 case の処理を実行するかどうかを判定する条件式を指定します。
- case: 条件式と一致する値を指定します。caseの値に一致した場合に、そのcase以降に書かれた処理が実行されます
- default:caseの値に一致しなかった場合に実行される処理を指定します。defalutは省略することができます
switch文の例は以下のようです。
$num = 5;
switch ($num % 2) {
case 0:
echo $num."は偶数です。";
break;
case 1:
echo $num."は奇数です。";
break;
}
// 5は奇数です。まずはswitchの()内が実行されます。
今回は$num % 2なので結果は1になります。(%はあまりを取得します。今回は5÷2のあまりなので1)
よって今回のcase文に一致するのはcase 1:の部分なのでecho $num."は奇数です。";が実行されます。
コメントを残す