Ö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.
// İfadenin sonucu $e'ye atanır (false || true)
// Tıpkı şöyle: ($e = (false || true))
$e = false || true;
// false sabiti $f'ye atanır ve true yoksayılır
// Tıpkı böyle: (($e = false) or true)
$f = false or true;
var_dump($e, $f);
// --------------------
// "&&" işlecinin önceliği "and" işlecinden yüksektir.
// İfadenin sonucu $g'ye atanır (true && false)
// Tıpkı böyle: ($g = (true && false))
$g = true && false;
// true sabiti $h'ya atanır ve false yoksayılır
// Tıpkı böyle: (($h = true) and false)
$h = true and false;
var_dump($g, $h);
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
bool(true) bool(false) bool(false) bool(true)