論理演算子
論理演算子とは
論理演算子とは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つあるのは演算の優先順位が違うからです。優先順位の違い以外の動作は同じです。
論理積
- $a = 1;
- $b = 5;
- if( $a == 1 and $b == 5 ){
- print "条件成立!!";
- }
- else{
- print "成立しません";
- }
- //$aが1であり、$bも5であるため条件成立
出力結果
条件成立!!
論理和
- $a = 1;
- $b = 5;
- if( $a == 1 or $b == 7 ){
- print "条件成立!!";
- }
- else{
- print "成立しません";
- }
- //$aが1であり、$bは7であるが片方($a)が条件を満たしているため条件成立
出力結果
条件成立!!
排他的論理和
- $a = 1;
- $b = 5;
- if( $a == 1 xor $b == 5 ){
- print "条件成立!!";
- }
- else{
- print "成立しません";
- }
- //$aが1であり、$bは5であるが、両方の条件が満たされているので不成立
出力結果
成立しません
否定
- $a = 1;
- if( ! $a == 1 ){
- print "条件成立!!";
- }
- else{
- print "成立しません";
- }
- //$aが1であるので不成立
出力結果
成立しません





