if (条件1 xor 条件2){処理C}
ここではまず条件1を判断し、満たされているとし、さらに条件2を判断して成り立っていなければ処理Cを行う。
条件2も満たされていれば処理Cは行われない。
条件1が成り立たない場合、条件2を判断し、満たされていれば処理Cを行う。
条件2も満たされていなければ次の文に実行が移る。
同じく表にまとめると、
条件1 | 条件2 | 処理C |
○ | ○ | × |
× | × | × |
○ | × | ○ |
× | ○ | ○ |
これらのand、or、xorは複数用いることもできて、例えば、
if ($a==1 or $b==2 and $c==3) {処理}
とすると、まず($a==1 or $b==2)という条件が判断されて、$a==1、$b==2のどちらか、または両方が満たされていて、かつ、$c==3が満たされているときに処理が行われる。