PHPである変数が1~5の間、もしくは15~20の間だったらという条件分岐はどう書けばいいのでしょうか?


勉強中の者です。
教科書には複数の比較演算子を1行で書いている例が無くて困ってしまいました。
どうぞよろしくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/12/18 11:20:12
  • 終了:2014/12/18 12:20:48

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4545ベストアンサー獲得回数18952014/12/18 12:06:45

こんな感じです。

<?php
    if ((1 <= $a && $a <=5) || (15 <= $a && $a <= 20)) {
        ...
    }

    // && は || よりも優先順位が高いので、括弧を外しても大丈夫
    if (1 <= $a && $a <=5 || 15 <= $a && $a <= 20) {
        ...
    }

    // and や or も使える
    if (1 <= $a and $a <=5 or 15 <= $a and $a <= 20) {
        ...
    }
?>
id:dekapurio

どうも有難うございます。
思ったとおりの結果になりました。

2014/12/18 12:20:36

その他の回答(1件)

id:a-kuma3 No.1

a-kuma3回答回数4545ベストアンサー獲得回数18952014/12/18 12:06:45ここでベストアンサー

こんな感じです。

<?php
    if ((1 <= $a && $a <=5) || (15 <= $a && $a <= 20)) {
        ...
    }

    // && は || よりも優先順位が高いので、括弧を外しても大丈夫
    if (1 <= $a && $a <=5 || 15 <= $a && $a <= 20) {
        ...
    }

    // and や or も使える
    if (1 <= $a and $a <=5 or 15 <= $a and $a <= 20) {
        ...
    }
?>
id:dekapurio

どうも有難うございます。
思ったとおりの結果になりました。

2014/12/18 12:20:36
id:Sampo No.2

Sampo回答回数556ベストアンサー獲得回数1042014/12/18 12:08:59

if (($x - 1) * ($x - 5) * ($x - 15) * ($x - 20) <= 0)

半分冗談ですが、4次関数のグラフを思い出せばこう書けます。

id:dekapurio

そんな方法もありますか。
条件以外だと、0かマイナスになるようになってるんですね。
これはすごい。。

2014/12/18 12:28:49

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません