論理演算子
Home >> PHP言語リファレンス >> PHPの演算子 >> 論理演算子

論理演算子

論理演算子とは

論理演算子とはTRUEやFALSEに対して論理演算を行うもので、if文などで条件分岐の判定に使われます。

どのようなものかというと、「○○かつ××」とか「○○もしくは××」ってやつです。英語で表すところの「and」や「or」って言った方がわかりやすいかも。演算子自体もそのまんま「and」や「or」があります。

演算子 名前 説明
and 論理積 両方ともTRUEの場合にTRUE $a and $b $aと$bの両方がTRUEならば・・
&& 論理積 $a && $b
or 論理和 どちらかがTRUEの場合にTRUE $a or $b $aもしくは$bのどちらかがTRUEならば・・
|| 論理和 $a || $b
xor 排他的論理和 どちらかがTRUEであり、両方ともTRUEではない場合にTRUE $a xor $b $aもしくは$bのどちらかがTRUEだけど、どっちもTRUEではないならば・・・
! 否定 FALSEの場合 !$a $aがTRUEでない(FALSE)ならば・・・

論理積と論理和の演算子が2つあるのは演算の優先順位が違うからです。優先順位の違い以外の動作は同じです。

論理積

<?php
$a
= 1;
$b = 5;

if(
$a == 1 and $b == 5 ){
  print
"条件成立!!";
}
else{
  print
"成立しません";
}
//$aが1であり、$bも5であるため条件成立
?>

出力結果

条件成立!!

論理和

<?php
$a
= 1;
$b = 5;

if(
$a == 1 or $b == 7 ){
  print
"条件成立!!";
}
else{
  print
"成立しません";
}
//$aが1であり、$bは7であるが片方($a)が条件を満たしているため条件成立
?>

出力結果

条件成立!!

排他的論理和

<?php
$a
= 1;
$b = 5;

if(
$a == 1 xor $b == 5 ){
    print
"条件成立!!";
}
else{
    print
"成立しません";
}
//$aが1であり、$bは5であるが、両方の条件が満たされているので不成立
?>

出力結果

成立しません

否定

<?php
$a
= 1;

if( !
$a == 1 ){
    print
"条件成立!!";
}
else{
    print
"成立しません";
}
//$aが1であるので不成立
?>

出力結果

成立しません