Pages

Subscribe:

2011-08-29

PHPの基礎~条件分岐2(switch構文)

今回は条件分岐の構文の2つ目、switch構文についてまとめます。

switch構文も基本はif構文と同じ条件分岐なのですが、
ある条件に対して、分岐がたくさんあるようなときに使われます。


switch( 条件式 ){
    case 値1 : 条件式の値が値1の時実行される処理;
    break;
    case 値2 : 条件式の値が値2の時実行される処理;
    break;
    default : 条件式の値がどれにも当てはまらない時実行される処理;
}

「case」から「break;」までがひとつのまとまりで、
caseの値はいくつでも増やしていくことができます。
最後の「default」はif文で言うところの「else」のようなもので、
「case」~「break」で条件の値が出そろって「その他」がなければ
書かなくても問題はありません。

実際にeclipseで書いてみます。

switch文で条件を「$country」として、
その値が「日本」だったら、「おはようございます」を表示させる、
という具合に3つのパターンを作りました。
この文の場合、「$country」に「日本」を代入しているので、
ひとつ目の値に対しての処理が実行され、ブラウザには「おはようございます」が
表示されました。

if文に直してみる

先ほどのswitch文をif文に直してみると、以下のようになります。

比べてみると、switch文の方が見やすいでしょうか。
プログラムの長さが短いのでif文の方がまとまっているようにも見えますが、
他の国のあいさつも並べようとした場合、elseifをどんどん増やしていって、
そのたびに$countryを書くのは少々しんどいような気がします。

最終的には好みの話になってしまいそうですが、
このあたりに使い分ける理由があるようです。
参考までにリンクを張っておきます。

if文とswitch文

これはあくまでもひとつの意見ですが、分かりやすかったのと、
switchは無理に使わなくてもいいんだとほっとできたので参考にさせてもらいました。
確かに自分も勉強していて、switch文が出てくる機会にはほとんど遭遇しません。

ちなみに前回記事で例に出したようなif文だと、switch文には直せないので、
条件分岐は、まずはif文をきっちり覚えて、
場合によってはswitch文を使うというくらいの心構えでいられれば、
新しく覚える身としてはずいぶん気が楽になると思います。

0 件のコメント:

コメントを投稿