【PHP】if文の基本ガイド:書き方や条件式について解説

PHPでは、条件によるコードの実行を制御するためにif文を頻繁に使用します。この記事では、PHPのif文の基本的な構文と、使い方について詳しく説明します。

if文の基本構文

PHPのif文は、指定した条件が真(true)の場合に、特定のコードブロックを実行するために使用されます。基本的な構文は以下のようになります。

if (条件) {
    // 条件が真の場合に実行されるコード
}
  • 条件:評価される論理式。真または偽(trueまたはfalse)を返す必要がある。
  • コードブロック:条件が真であるときに実行されるPHPコード。

基本的な例

以下は、if文の基本的な使用例です。

$age = 18;

if ($age >= 18) {
    echo "成人です。";
}

この例では、変数 $age が18以上である場合に、「成人です。」というメッセージが表示されます。 $age >= 18 の’>=’は、左辺の値が右辺の値以上のとき真、という条件を表しています。$age が18未満の場合は何も表示されません。

if-else構文

if文にelseを追加することで、条件が偽(false)の場合に実行されるコードを指定できます。構文は次の通りです。

if (条件) {
    // 条件が真の場合に実行されるコード
} else {
    // 条件が偽の場合に実行されるコード
}


if-elseの例

$age = 16;

if ($age >= 18) {
    echo "成人です。";
} else {
    echo "未成年です。";
}

この例では、$ageが18以上であれば「成人です。」と表示され、それ以外の場合は「未成年です。」と表示されます。

if-elseif-else構文

複数の条件を評価する場合は、if-elseif-else構文を使用します。複数の条件を順に評価し、それに応じて異なるコードを実行できます。構文は次の通りです。

if (条件1) {
    // 条件1が真の場合に実行されるコード
} elseif (条件2) {
    // 条件2が真の場合に実行されるコード
} else {
    // 条件1および条件2が偽の場合に実行されるコード
}

if-elseif-elseの例

$score = 85;

if ($score >= 90) {
    echo "優秀です。";
} elseif ($score >= 70) {
    echo "合格です。";
} else {
    echo "不合格です。";
}

この例では、スコアに応じて異なるメッセージを表示します。スコアが90以上の場合は「優秀です。」、70以上90未満の場合は「合格です。」、それ以外の場合は「不合格です。」と出力されます。

比較演算子の使い方

‘>=’以外にも様々な条件判定があります。これらを比較演算子と呼びます。主要な比較演算子は以下の通りです。

  • 等しい: ==
  • 等しくない: !=
  • より大きい: >
  • より小さい: <
  • 以上: >=
  • 以下: <=

これらの演算子を組み合わせて複雑な条件を設定します。

比較演算子を使った例

$score = 85;
$membership = 'gold';

// スコアが80以上かつメンバーシップが'gold'の場合

if ($score >= 80) {
    if ($membership == 'gold') {
        echo "条件を全て満たしています。";
    } else {
        echo "メンバーシップが条件を満たしていません。";
    }
} else {
    echo "スコアが条件を満たしていません。";
}

この例では、スコアが80点以上かつ、メンバーシップが’gold’の場合に’条件を全て満たしています。’と表示します。

if文で複雑な条件を扱う方法

論理演算子や比較演算子を駆使することで、複雑な条件分岐を実現できます。

論理演算子を使った複雑な条件

複雑な条件を指定するためには、論理演算子を使用します。主要な論理演算子は以下の通りです。

  • AND(論理積):&&
    A && B(AかつB)
  • OR(論理和):||
    A || B(AまたはB)
  • NOT(論理否定):!
    !A(Aではない)

これらの演算子を使用することで、複数の条件を組み合わせることができます。

論理条件の基本構文

if (条件1 && 条件2) {
    // 条件1かつ条件2が真の場合に実行されるコード
}

if (条件1 || 条件2) {
    // 条件1または条件2が真の場合に実行されるコード
}

if (!条件) {
    // 条件が偽の場合に実行されるコード
}

複雑な条件の例

以下の例では、複数の条件を組み合わせて条件分岐を実装します。

$age = 25;
$member = false;

if ($age >= 18 && $member) {
    echo "会員料金が適用されます。";
} elseif ($age >= 18 && !$member) {
    echo "一般料金が適用されます。";
} elseif ($age < 18) {
    echo "子供料金が適用されます。";
} else {
    echo "ご利用いただけません。";
}

この例では、以下のように条件を組み合わせています。

  • $age >= 18 && $member: 成人で、会員の場合
  • $age >= 18 && !$member: 成人だが、会員でない場合
  • $age < 18: 成人未満の場合

複数の条件式をグループ化する

複雑な条件式を扱う際には、条件式を括弧'()’でグループ化して優先順位を明確にすることが重要です。括弧で囲ったグループから条件判定されるので、条件式の評価が意図した通りに行われます。

$temperature = 30;
$rainy = false;
$holiday = true;

if ($holiday || ($temperature >= 18 && $temperature < 28)) {
    echo "アウトドア活動に最適です。";
} else {
    echo "屋内で過ごしましょう。";
}

この例では、休日または、気温が18度以上かつ28度未満のときに、’アウトドア活動に最適です。’と出力します。

まとめ

PHPで条件分岐を扱うとき、if文と論理演算子、比較演算子を上手く使いこなすととても便利です。これらを組み合わせると、複雑な条件でもすっきりと表現できるようになります。

こういったテクニックを身につけると、PHPのコードがぐっとスマートになります。効率的で柔軟性のあるプログラムが書けるようになるので、複雑な処理も難なくこなせるようになります。これらの方法をマスターすれば、コードの品質も上がって、プログラミングの生産性も上がるはずです。

コメント