TECH BLOG

マークリープス技術ブログ

open

[PHP]超入門:論理演算子とは?&&・||・and・or の違いと使い方をわかりやすく解説

論理演算子とは?

論理演算子は、「AかつB」や「CまたはD」といった複数の条件を組み合わせて判断するための演算子です。
主にif文やwhile文などの条件式で使われ、処理の分岐や繰り返しに柔軟性をもたらします。

PHPの論理演算子一覧

以下はPHPで使える主な論理演算子とその意味です。

演算子 説明 結果が true になる条件
&& 論理積(AND) $a && $b $a$bが両方 true のとき
and 論理積(AND) $a and $b $a$bが両方 true のとき
or 論理和(OR) $a or $b $aまたは$bのいずれかが true のとき
xor 排他的論理和(XOR) $a xor $b $a$bのどちらか一方が true
(両方 true は false)
! 否定(NOT) !$a $aが false のとき true になる

AND と OR の使い方

&& / and

両方が true のときだけ結果が true になります。
and&&と同じく論理積を表しますが、演算子の優先順位が異なるため注意が必要です(後述)。
基本的には&&を使用するのが安全です。

|| / or

どちらか一方でも true なら結果は true になります。

xor

どちらか一方だけが true の場合に true。
両方 true だと false になる点に注意しましょう。

NOT の使い方

! を使うと、真偽値を反転できます。
true → false、false → true になります。

「&&」と「and」、「||」と「or」の違い

&&and||orは、いずれも論理積・論理和の演算子ですが、優先順位(precedence)が異なります。
そのため、同じように書いても、意図しない結果になることがあります。

上記のように、||=よりも優先されますが、or=よりも後に評価されます。
このため、次のようにグループ化しないと意図しない挙動になることがあります

&&andよりも優先順位が高い
||orよりも優先順位が高い
原則としては、&&||を使うのが無難です。

まとめ

  • 論理演算子は、複数の条件を扱う際に欠かせない
  • &&(AND)や||(OR)が基本
  • andorは優先順位に注意(=との組み合わせで意図しない動作になることがある)
  • xorは「どちらか一方だけが true」のときに使える
  • !で真偽を反転できる(NOT)

 
[PHP] 超入門 シリーズ
[PHP] 超入門:演算子とは?算術・比較演算子の違いと使い方をやさしく解説!
[PHP] 超入門:変数とデータ型の使い方:string・int・arrayの基礎をやさしく解説
[PHP] 超入門:HTMLとPHPがどうつながるか、ざっくり理解しよう
[PHP] 超入門:echo・改行・コメントの基本:出力の仕組みをやさしく解説

よく読まれている関連記事

関連最新記事