PHP入門④】複数の条件をまとめて判定!論理演算子(&&・||・!)の使い方を解説

こんにちは。
この記事では、PHPにおいて「複数の条件を組み合わせる」際に使われる論理演算子(ろんりえんざんし)について解説します。

前回までに学んだ if文 をベースに、より柔軟な条件分岐ができるようになるための重要な構文です。


論理演算子とは?

PHPでは、複数の条件を一つにまとめて判定したいときに「論理演算子」を使います。

以下は、よく使われる論理演算子です。

記号読み方条件の意味
&&かつ左右どちらも true のときのみ全体が true になる
||または左右のどちらか、または両方が true なら true
!否定条件が true のとき false に、false のとき true にする

🧠 これらを使うことで、より複雑な条件分岐が短く簡潔に記述できます。


それぞれの論理演算子の働き

🔸 &&(かつ)

2つの条件が 両方とも true のときに、処理が実行されます。

“`php
if ($score >= 60 && $score <= 80) {
echo “平均的な点数です。”;
}

$score が60以上かつ80以下のときだけ実行されます

🔸 ||(または)

どちらか一方が true であれば処理されるパターンです。

if ($role == 'admin' || $role == 'editor') {
echo "このユーザーは編集権限があります。";
}
  • $roleadmineditor のいずれかなら true

🔸 !(否定)

条件が true なら false に、false なら true に変換します。

$isGuest = false;

if (! $isGuest) {
echo "ゲストではないユーザーです。";
}
  • $isGuest が false のとき ! $isGuest は true になります

実例:3の倍数と7の倍数を条件で分けて表示

以下のように、if〜elseif〜else文と論理演算子を組み合わせて、条件ごとに出力を変えることができます。

<?php
$x = 1071;

if ($x % 3 == 0 && $x % 7 == 0) {
echo "xは3の倍数かつ7の倍数です。";
} elseif ($x % 3 == 0) {
echo "xは3の倍数ですが7の倍数ではありません。";
} elseif ($x % 7 == 0) {
echo "xは7の倍数ですが3の倍数ではありません。";
} else {
echo "xは7の倍数でも3の倍数でもありません。";
}
?>

💡 補足:

  • % は割った余りを求める演算子
  • $x % 3 == 0 → 「xが3の倍数である」ことを意味します
  • 条件は 上から順に評価され、最初に true になったブロックのみが実行されます

論理演算子のまとめ表

&&(かつ)

条件A条件B結果(A && B)
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse

||(または)

条件A条件B結果(A || B)
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse

よくあるつまずきポイント

❌ 「=」と「==」の混同

if ($score = 80) { // ← これは代入。常にtrueになります!
echo “条件判定ミス!”

判定には必ず ==(等しい)や ===(型も含めて等しい)を使いましょう判

✅ グルーピングに () を使おう

複雑な条件は、必ず () で区切ってわかりやすくしましょう。

if (($x > 10 && $x < 50) || $x == 100) {
echo “条件に一致”;
}

まとめ|論理演算子で条件分岐の幅が広がる!

今回の記事では、複数の条件を1つにまとめて判定できる**論理演算子(&&・||・!)**について学びました。

✅ おさらいポイント

  • && は両方 true のときに実行(AかつB)
  • || はどちらか true なら実行(AまたはB)
  • ! は条件の否定(trueをfalseに)
  • 条件が複雑な場合は、() で区切ってわかりやすく書く

次回は、繰り返し処理に便利な「for文」の基本と使い方を解説します!
「同じ処理を何度も繰り返す」ような場面でとても便利なので、ぜひチェックしてください。

コメントを残す

[Enter code here]