PHP'de Mantıksal Operatörler
İki ve ya daha fazla ifadenin değerlerinin true ya da false olup olmadığını kontrol ederler.
Operatör | Ad | Örnek | Açıklama |
---|---|---|---|
&& - AND |
Ve Operatörü | $x && $y |
İki ve ya daha fazla değerin true olup olmadığını kontrol eder. |
|| - OR |
Ya da Operatörü | $x || $y |
İki ve ya daha fazla değerin en az birinin true olup olmadığını kontrol eder. |
xor |
XOR Operatörü | $x XOR $y |
or operatörü gibi davranır. Farkı ise, değerlerin sadece birinin true olmasını kabul eder. Yani her iki değerde true ise bunu geçersiz kabul eder. |
! |
Değilse Operatörü | !$x |
Başına ünlem gelen değerin true olup olmadığını kontrol eder. Eğer değer true ise, sonuç false dönecektir. Eğer değer false ise, sonuç true dönecektir. |
Ve (AND - &&) Operatörü
İki ve ya daha fazla değerin true olup olmadığını kontrol eder.
<?php
$x = true;
$y = 0;
echo $x && $y; // Çıktı: 0 yani false (Çünkü her iki değerinde true olması bekleniyor)
echo $x AND $y; // İsterseniz && işaretini, istersenizde AND ifadesini kullanın her ikiside aynı
?>
Bu örnekte $y
değeri 0 yani false olduğu için sonuç false döner. Yani $x
VE $y
değerleri true olmak zorunda.
Başka bir örnek ile daha iyi anlayalım.
<?php
$x = 5;
$y = 5;
$z = 6;
echo ($x == $y) && ($z > $y); // Çıktı: 1 yani true (Çünkü her iki değerimde true döndürüyor)
?>
Ya da (OR - ||) Operatörü
İki ve ya daha fazla değerin en az birinin true olup olmadığını kontrol eder.
<?php
$x = true;
$y = false;
echo $x || $y; // Çıktı: 1 yani true (çünkü iki değerden birisinin true olması yetiyor)
echo $x OR $y; // İster || yazın ister OR fark etmez, aynı şeyleri temsil ediyor
?>
Başka bir örnekle daha iyi anlayalım.
<?php
$x = 5;
$y = 6;
echo ($x == $b) || ($x < $y); // Çıktı: 1 yani true (Çünkü iki ifadeden birisi true)
?>
XOR Operatörü
or
operatörü gibi davranır. Farkı ise, değerlerin sadece birinin true olmasını kabul eder. Yani her iki değerde true ise bunu geçersiz kabul eder. Örnek vermek gerekirse;
<?php
$x = 5;
$y = 5;
echo ($x == $y) || ($x <= $y); // Çıktı: 1 yani true (Çünkü iki değerden birisi true, bu örnekte ikiside true diyebiliriz)
echo ($x == $y) XOR ($x <= $y); // Çıktı: 0 yani false (Çünkü her iki ifadenin de sonuçları true, bu operatör birinden birinin true olmasını kabul ediyor)
?>
Değilse (!) Operatörü
Başına ünlem gelen değerin true olup olmadığını kontrol eder. Eğer değer true ise, sonuç false dönecektir. Eğer değer false ise, sonuç true dönecektir.
<?php
$x = 5;
$y = false;
echo !$y || !$x; // Çıktı: 1 yani true ($x ya da $y değerlerinin birinden birinin olup olmadığını kontrol ettik, $y değeri false olduğu için sonuç true dönüyor)
?>