今日の人気記事

  1. 10進数 ⇔ 2進数変換 - decbin()、bindec()
  2. 比較演算子 - if、for、while の条件分岐に

論理演算子

当ページのリンクには広告が含まれています。

PHPには論理演算を行うための演算子「and」「or」「xor」「!」といった論理演算子が用意されています。

ここではそれら演算子の概要と使い方をサンプルスクリプトを利用して解説していきます。

論理演算子

まずは「論理和演算子」の種類とその概要をみていきましょう。

演算子 概要
and あるいは && $x and $y
$x && $y
論理和。$x と $y がどちらもTRUEの場合、TRUE。
or あるいは || $x or $y
$x || $y
論理積。$x と $y のいずれかがTRUE、あるいはどちらもTRUEの場合、TRUE
xor $x xor $y 排他的論理和。$x と $y のいずれかがTRUEの場合、TRUE
! ! $x 否定。$xがFALSEであればTRUE、$xがFALSEであればTRUE

※ 論理演算子には同じ動きをする論理積演算子「and」と「&&」、論理和演算子「or」と「||」があります。これらはそれぞれ優先順位が異なります。優先順位についてはこちらを参考にしてください。

サンプルスクリプト

論理演算子の動きをサンプルスクリプトで確認していきましょう。

論理和 - and、&&

論理和のサンプルスクリプトです。

変数「$a」の値の大きさを論理和で条件分岐するサンプルスクリプトです。

<?php
$a = 4;
if( $a > 3 and $a < 8 ) {
  echo "TRUE\n";
} else {
  echo "FALSE\n";
}
?>

実行結果です。変数「$a」は、論理和の条件を満たすので、TRUEを返します。

TRUE

論理積 - or、||

論理積のサンプルスクリプトです。

変数「$a」の値の大きさを論理積で条件分岐するサンプルスクリプトです。

<?php
$a = 4;
if( $a > 3 or $a < 8 ) {
  echo "TRUE\n";
} else {
  echo "FALSE\n";
}
?>

実行結果です。変数「$a」は、論理積の条件を満たすので、TRUEを返します。

TRUE

排他的論理和 - xor

排他的論理和のサンプルスクリプトです。

変数「$a」の値の大きさを排他的論理和で条件分岐するサンプルスクリプトです。

<?php
$a = 4;
if( $a > 3 xor $a < 8 ) {
  echo "TRUE\n";
} else {
  echo "FALSE\n";
}
?>

実行結果です。変数「$a」は、排他的論理和の条件を満たさないので、FALSEを返します。

FALSE

否定 - !

否定のサンプルスクリプトです。

変数の値を否定(反転)するサンプルスクリプトです。

<?php
$x = true;
$x = !$x;
var_dump($x);

$y = false;
$y = !$y;
var_dump($y);
?>

実行結果です。
変数「$x」の値は「true」なので、その否定であるFALSEを返します。
また、変数「$y」の値は「false」なので、その否定であるtrueを返します。

bool(false)
bool(true)

次は「比較演算子 - if、for、while の条件分岐に」をみてみましょう。

演算子 の人気記事

  1. コメント
  2. require、require_once - ファイルの取り込み
  3. 連想配列
  4. 比較演算子 - if、for、while の条件分岐に

関連記事(一部広告含む)