PHP入門:比較演算子・論理演算子と条件分岐

プログラミングを行う際に欠かせないのが「条件分岐」です。条件分岐は、比較演算子で値を比較し、論理演算子を使って複数条件を組み合わせます。この記事では、if文の基本構文から比較演算子・論理演算子の使い方、そして複数条件の書き方まで、サンプルコードを交えてわかりやすく解説します。

if文の基本構文

条件分岐の基本は if 文です。条件が「true」の場合のみ、中括弧 {} 内の処理が実行されます。

<?php
$score = 80;

if ($score >= 70) {
    echo "合格です!";
}

この例では、変数 $score が 70 以上なら「合格です!」と表示されます。

真偽値(boolean)の基本

条件分岐の土台になるのが「真偽値(boolean型)」です。真偽値には以下の2種類しかありません。

  • true(真) → 条件を満たすとき
  • false(偽) → 条件を満たさないとき

比較演算子や論理演算子は、最終的に必ず truefalse を返します。

<?php
var_dump(10 > 5);   // true
var_dump(10 < 5);   // false
var_dump(10 == 10); // true

比較演算子の種類

値を比較する際に使用するのが「比較演算子」です。結果は true または false になります。

演算子説明結果
==等しい5 == "5"true
===型も含めて等しい5 === "5"false
!=等しくない5 != 3true
!==型も含めて等しくない5 !== "5"true
>より大きい10 > 3true
<より小さい2 < 5true
>=以上10 >= 10true
<=以下5 <= 8true

文字の比較のサンプルコード

<?php
$a = "apple";
$b = "banana";

if ($a < $b) {
    echo "$a は $b より前に並びます"; // 出力: apple は banana より前に並びます
}

数値の比較のサンプルコード

<?php
$age = 20;

if ($age >= 18) {
    echo "大人料金が適用されます。";
}

日付の比較のサンプルコード

<?php
$date1 = strtotime("2023-01-01");
$date2 = strtotime("2023-12-31");

if ($date1 < $date2) {
    echo "date1 は date2 より前の日付です。";
}

論理演算子の種類

複数の条件を組み合わせるときに使うのが「論理演算子」です。

演算子説明
&& または andすべての条件が true のときに true$a > 0 && $b > 0
||またはorいずれかの条件が true なら true$a > 0 || $b > 0
!条件の否定(NOT)!($a > 0)

ANDの書き方

<?php
$age = 20;
$hasTicket = true;

if ($age >= 18 && $hasTicket) {
    echo "入場できます。";
}

OR条件の書き方

<?php
$isMember = false;
$hasCoupon = true;

if ($isMember || $hasCoupon) {
    echo "割引が適用されます。";
}

複数条件の書き方(elseif)

if 文は elseifelse と組み合わせることで、複数の条件に応じて処理を分けられます。

<?php
$score = 65;

if ($score >= 80) {
    echo "とても良くできました!";
} elseif ($score >= 70) {
    echo "合格です。";
} else {
    echo "残念、不合格です。";
}

この例では点数に応じて異なるメッセージが表示されます。

まとめ

  • if 文は条件分岐の基本構文
  • 値の比較には「比較演算子」を使う
  • 複数条件を組み合わせるには「論理演算子」を使う
  • 比較や論理演算子は最終的に必ず truefalse を返す
  • if-elseif-else を活用すれば、柔軟な条件分岐が可能

-PHP
-