5分で理解【PHP入門】switch文とは?switch文の書き方徹底解説

php-switch PHP
スポンサーリンク
man-image

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文の書き方もマスターしましょう!

タイトルとURLをコピーしました