• ベストアンサー

(if/elseif)と(switch文)の使い分け方

プログラミング初心者です。 switch文がある事を最近知りました。 条件分岐をする時は主にif文を使用してきましたが、switch文とはどのように使い分けるものなのでしょうか。 こんな質問で申し訳ありませんが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

まぁswitchは原則、特定の条件に一致した場合の分岐ですから、 ifのように柔軟ではありません。 たとえば if($a==1) ・・・ elseif($b==1)・・・ とか if($a>1) ・・・ else($a>0) ・・・ などswitchには向いていません。 逆にif分岐は冗長な表現になるため列記すると視認性がおちることから 単純な分岐で、要素数が多い場合はswitchを使うことが多いです。 switch($a){ case 1: ・・・ case 2: ・・・ case 3: ・・・ } とするとわかりやすいですが、 if($a==1)・・・ else($a==2)・・・ else($a==3)・・・ などとすると、いちいち$a==○○などという評価式を書くため 見た目にもいまいちです

-macha-
質問者

お礼

確かに。単純な分岐でしか機能しなさそうですね。 回答ありがとうございました。

その他の回答 (1)

回答No.1

分岐材料が多いときにswitchを使います。 if(A==1) 処理1; elseif(A==2) 処理2; elseif(A==3) 処理3; else 処理4; と、 switch(A){ case 1: 処理1;break; case 2: 処理2;break; case 3: 処理3;break; default: 処理4; } は、同じことです。

-macha-
質問者

お礼

回答ありがとうございました。

関連するQ&A