• ベストアンサー

phpのswitch文について switchはif

phpのswitch文について switchはifと違って、条件式の中がブール型の論理演算とかではないんですか? 完全に1つの値とかなんですかね? $num1>5とかそういうのは入らないんですか?

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

  • ベストアンサー
  • dell_OK
  • ベストアンサー率13% (766/5720)
回答No.2

書こうと思ったら、こんな書き方ができます。 $num1 = 4; switch (true) { case $num1 > 5: echo "5より大きい"; break; case $num1 > 3: echo "3より大きい"; break; case $num1 > 1: echo "1より大きい"; break; }

okwaveokw
質問者

お礼

ありがとうございます

その他の回答 (1)

回答No.1

ある意味では、Boolです。 ただし使えるのが”==”のみ switch ( ● ) { case 〇:.... } なら、if (●==〇) /* このcaseラベルに飛べ */ 的な物ですね。 breakは、処理によって、意図的に書かない事もあり、 必須な物ではありません。 今回の画像では、一番最後のdefaultラベル 言うなれば、上のif (●==〇) にどれにもマッチしなかった elseみたいなもの。 最後のラベルの最後は、break;書いても書かなくてもOK なぜなら、それ以降に処理がないから。 なので、継続して処理するのではなく、そこで打ち止め! にするためのbreakですね。switchの場合。 なんとなく、for や while でも、breakを触っていたでしょうから あ~って気持ちはあるかと^^

okwaveokw
質問者

お礼

ありがとうございます

関連するQ&A