論理演算子
当ページのリンクには広告が含まれています。
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 の条件分岐に」をみてみましょう。