PHPで複雑な条件式を作る!「論理演算子」を紹介します。

PHP 論理演算子 web制作

前回の記事では、条件判断文とセットで「関係演算子」を紹介しました。

PHPの条件判断文紹介!「if文」「if、else文」「if、elseif、else文」
プログラムでは、場合に応じて異なる処理をしたいことがあります。 そこで登場するのが条件判断文です。これを使えばより複雑なページ作りが出来るようになります。 関係演算子 条件判断文を見る前に、...

今回はより複雑な条件判断をするための「論理演算子」を見ていきたいと思います。

スポンサーリンク

論理演算子

「関係演算子」は左辺と右辺を比較するための演算子で、この特徴を利用して条件を設定するときに使われました。

対して今回紹介する「論理演算子」は、この条件式の幅をさらに広げるための演算子となります。

まずは表を見てください。

論理演算子意味
&&

and

左辺と右辺がともにtrueの場合true
||

or

 左辺と右辺の少なくとも一方がtrueの場合true
 xor 左辺と右辺の真偽が異なるの場合true
 !右辺がfalseの場合true

このように論理演算子は、左辺と右辺の条件式の組み合わせによって、式全体の真偽を判定する機能を持っています。

これを使えば、「○○かつ○○」の時はこのプログラムを、「○○または○○」の時はこのプログラムをといった処理ができるようになります。(表の上2つ)

では、実際に論理演算子を使った式を見てみましょう。

1、 2>1 && 1!=2     真(true)
2、 2<1 || 2>=1     真(true)
3、 3==2 xor 3!=2    真(true)
4、 !2>3         真(true)
  1. 左辺も右辺も真なので、式全体も真となります。
  2. 左辺は偽ですが、右辺は真なので式全体は真となります。
  3. 左辺は偽で右辺は真なので、式全体は真となります。
  4. 右辺が偽なので式全体は真となります。

条件演算子

前回の記事と合わせて、PHPの条件判断に関するコードなどをみてきました。

ここでおまけとして「条件演算子」も紹介しておきたいと思います。

条件演算子は、if文を簡単にまとめることが出来る演算子です。(ただし簡単な文のみです)

こんな記述になります。

条件 ? trueの時の処理 : falseの時の処理

見ての通り、最初に条件を設定し、「?」「:」の後にそれぞれtrue、falseの時の処理を記述します。簡単なプログラムならif文を使うよりも、圧倒的に楽ですね。

最後に

論理演算子は条件を組み合わせてより複雑な条件式を作るためのものです。

「かつ」とか「または」とか、数学の授業でやったのを久しぶりに思い出します。

たしかこんな感じの図を使って説明された記憶が、、、。

論理演算子

 

単純ですが、演算子が増えてくると結構混乱するのでよく覚えておきたいです。