Örnek | İsim | Sonuç |
---|---|---|
$a and $b
|
Ve | $a ve $b her ikisi de doğruysa sonuç doğrudur (TRUE). |
$a or $b
|
Veya | $a veya $b doğruysa sonuç doğrudur. |
$a xor $b
|
Ayrıcalıklı Veya | $a veya $b doğruysa sonuç doğru, her ikiside doğruysa sonuç yanlıştır (FALSE). |
! $a
|
Değil | $a doğru değilse sonuç doğrudur. |
$a && $b
|
Ve | $a ve $b her ikisi de doğruysa sonuç doğrudur. |
$a || $b
|
Veya | $a veya $b doğruysa sonuç doğrudur. |
Ve, Veya işleçlerinin iki farklı türü olmasının sebebi önceliklerinin farklı oluşudur. (Bakınız: İşleç Önceliği.)
Örnek 1 - Örneklerle mantıksal işleçler
<?php
// Aşağıdaki ifadelerde ilk terim sonucu belirlediğinden ikinci
// terime hiç bakılmayacak, yani foo() işlevi hiç çağrılmayacaktır.
$a = (false && foo());
$b = (true || foo());
$c = (false and foo());
$d = (true or foo());
// "||" işlecinin önceliği "or" işlecinden yüksektir.
$e = false || true; // $e değişkenine true atanır
$f = false or true; // $f değişkenine false atanır
var_dump($e, $f);
// "&&" işlecinin önceliği "and" işlecinden yüksektir.
$g = true && false; // $g değişkenine false atanır
$h = true and false; // $h değişkenine true atanır
var_dump($g, $h);
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
bool(true) bool(false) bool(false) bool(true)