• ベストアンサー

phpのswitch文について switchはif

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

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

  • ベストアンサー
  • dell_OK
  • ベストアンサー率13% (742/5654)
回答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

  • phpでif文内で&の記述に疑問が・・・

    とあるphpを見ていると、 $num = 90; $hom = 4; $list = '<rock>sale</rock>'; if(intval($num) & $hom && preg_match("/^<\/rock>$/", $list)){ ・・・ } というif文がありました。 これはどういった意味でしょうか? intval、preg_matchは理解できます。 また論理演算子の&&も理解できます。 $homeの直前にある&の働きがよくわかりません。 if文を日本語で直訳するとどういった意味になるのでしょうか? よろしくお願い致します。

    • ベストアンサー
    • PHP
  • phpのifとswitchって似てますけど if

    phpのifとswitchって似てますけど ifはカッコの中に大なり小なりをいれますが switchは入れませんよね 似てるけどこういう所が違うんですかね? <?php if ($a > $b) { echo "aはbより大きい"; $b = $a; } ?>

    • ベストアンサー
    • PHP
  • phpのSwitch文のswitchってそもそもど

    phpのSwitch文のswitchってそもそもどういう意味なんでしょうか? ifはわかります もしもこういう場合は というので switchってなんですか?電源を押すみたいな意味ですか?

    • ベストアンサー
    • PHP
  • C言語のswitch case文で、scanfでキーボードから読み込ん

    C言語のswitch case文で、scanfでキーボードから読み込んだ1~12の値によって画面に季節を、3~5は"春"、6~8は"夏"・・・というふうに表示させるプログラムなのですが、if文を使わずにswitch caseで作るには case 3: case 4: case 5:puts("春"); break; ・ ・ ・ と1個1個記述するしかないのでしょうか? もし比較演算子と論理演算子を使って 3<= && <=5 こんな感じに1行にまとめることができるなら教えてください。

  • switch文をif文に変換

    以下のプログラムをif文に書き換えるとどうなるでしょうか? if文と論理演算子を使って短く書きかえられるらしいのですが。 #include <stdio.h> main() { int no; scanf("%d",&no); switch (no){ case 1: puts("1番です。\n"); break; case 2: puts("2番です。\n"); break; case 3: puts("3番です。\n"); break; case 4: puts("4番です。\n"); break; case 5: puts("5番です。\n"); break; case 6: puts("6番です。\n"); break; default: puts("そんな学年はありません。"); break; } }

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

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

    • ベストアンサー
    • PHP
  • エクセルで、0<x<10という具合にIF文に入れたい

    あるセルの値、もしくは計算した値が「>」「<」を使って、ある範囲にあるかどうかを論理演算させたいのですが、どういう文にすればいいでしょうか? その範囲内=TRUE 範囲外=FLASE としたいのですが・・・。 =if(0<A1<1,"X","Y") ↑A1が0.5ならXと表示され、A1が1ならYと表示させたいとします。 これじゃあ式として成り立ってませんよね?実際これだとA1が「0超、1未満」でYと表示されてしまいます。

  • IF文についておしえてください(EXCEL2003)

    お世話になります。Excel2003です、IF文について教えてください 例えば IF(U21=TRUE,1200) ↑のようなIF文があります。これはいったいどういう意味なのでしょうか? 基本的にIF文は =IF(条件式,値1,値2) という形式だとおもってましたので、これだと、値がたりない。(2つしかカンマで区切られてない。。 それか、U21がTRUEのとき、1200と入力?という意味なのでしょうか? それだと、U21がTRUEとはどういう意味なのでしょうか? よろしくおねがいいたします。

  • switch()文で値の大小比較

    例えば$numという変数の値が50以下の場合、 51以上80以下の場合、81以上の場合の処理と分けたい場合、 switch()文でif()のように値の大小比較をする事は出来ないのでしょうか? 以下のような比較を行いたいです。 (以下は例なので、if()で良いだろうという突っ込みは要りません) switch ($num) { case <= 50: 処理1 case <= 80: 処理2 default: 処理3 }

    • ベストアンサー
    • PHP
  • phpでif文の条件の中はbool型なんですか?

    phpでif文の条件の中はbool型なんですか?

    • ベストアンサー
    • PHP