switch文を理解したい人向けの記事です。
switch文とは?
switch文の書き方が知りたい。
復習したい。
こういった疑問を解決します。
本記事の内容
・switch文とは?
・switch文の書き方
switch文とは?
if-elseif-else文の条件がイコール(=)の場合、何度も記述せずに条件分岐を行える構文です。
複数の条件で複雑な分岐を行いたい場合、switch構文を用いて条件分岐を行うとスマートに記述することができます。
if-elseif-else文がわからない方は、以下の記事を参考にしてください。
switch文の書き方
書き方は以下のように記述します。
switch ( 変数 ) {
case 条件:
文
break;
case 条件2:
文
break;
default:
文
break;
}
条件はいくつでも記述可能です。
caseとdefaultの最後はコロン(:)ですのでセミコロン(;)と間違えないようにしましょう。
サンプルコードを見てみましょう。
<?php $i = mt_rand(1, 3); switch ($i) { case 1: //コロン(:)を使用 echo 'グーを出す' . '<br />'; break; case 2: //コロン(:)を使用 echo 'チョキを出す' . '<br />'; break; case 3: //コロン(:)を使用 echo 'パーを出す' . '<br />'; break; default: //コロン(:)を使用 echo 'エラーです' . '<br />'; break; }
解説します。
①変数$iにランダムな数字1〜3を入れます。
②「switch($i)」で条件に$iがセットされます。
③「case '1':」で「$i == 1」の条件設定と同じになります。
④$iが1の時、「echo 'グーを出す' . '<br />';」で「グーを出す」を表示
⑤条件が当てはまれば「break;」でswitch文を終了、当てはまらなければ条件2を評価する。
⑥条件に当てはまるまで③〜⑤を繰り返す。
⑦どの条件にも当てはまらなければ、「default:」の文を実行して終了。(elseと同じ)
上のswitch文をif-elseif-else文で書いてみましょう。
<?php $i = mt_rand(1, 3); if ($i == 1) { echo 'グーを出す' . '<br />'; } elseif ($i == 2) { echo 'チョキを出す' . '<br />'; } elseif ($i == 3) { echo ' パーを出す' . '<br />'; } else { echo 'エラーです' . '<br />'; }
このif-elseif-else文で条件をいくつも書くより、switch文で書いた方がスマートですね!
break文についてわからない方は以下の記事を参考にしてください。
まとめ
・switch文とはif-elseif-else文の条件がイコール(=)の場合、何度も記述せずに条件分岐を行える構文
・switch文の書き方は以下
switch ( 変数 ) {
case '条件':
文
break;
case '条件2':
文
break;
default:
文
break;
}
・caseの最後はコロン(:)ですのでセミコロン(;)と間違えないようにしましょう。
switch文の書き方もマスターしましょう!