PHP 8'de karşılaştırma operatörleri, iki değeri karşılaştırarak bir sonuca varmak için kullanılır. Karşılaştırma operatörleri genellikle koşullu ifadelerde (if, switch) kullanılır ve doğru veya yanlış (boolean) bir değer döner. İşte PHP 8'deki karşılaştırma operatörleri:
1. Eşittir Operatörü (==
)
İki değerin eşit olup olmadığını kontrol eder. Değerler aynıysa true
, değilse false
döner. Ancak veri türlerini dikkate almaz.
$a = 5;
$b = "5";
var_dump($a == $b); // true (değerler eşit, tür önemli değil)
2. Tipiyle Birlikte Eşittir Operatörü (===
)
İki değerin hem türünü hem de değerini karşılaştırır. Eğer hem değerler hem de türler aynıysa true
döner, aksi halde false
.
$a = 5;
$b = "5";
var_dump($a === $b); // false (türler farklı)
3. Eşit Değildir Operatörü (!=
veya `<>)
İki değerin eşit olup olmadığını kontrol eder. Değerler eşit değilse true
, eşitse false
döner.
$a = 5;
$b = 10;
var_dump($a != $b); // true
var_dump($a <> $b); // true
4. Tipiyle Birlikte Eşit Değildir Operatörü (!==
)
İki değerin hem türünü hem de değerini karşılaştırır. Eğer değerler veya türler aynı değilse true
döner.
$a = 5;
$b = "5";
var_dump($a !== $b); // true (türler farklı)
5. Küçüktür Operatörü (<
)
Sol taraftaki değerin sağ taraftaki değerden küçük olup olmadığını kontrol eder.
$a = 5;
$b = 10;
var_dump($a < $b); // true (5, 10'dan küçüktür)
6. Büyüktür Operatörü (>
)
Sol taraftaki değerin sağ taraftaki değerden büyük olup olmadığını kontrol eder.
$a = 10;
$b = 5;
var_dump($a > $b); // true (10, 5'ten büyüktür)
7. Küçük Eşittir Operatörü (<=
)
Sol taraftaki değerin sağ taraftaki değerden küçük veya eşit olup olmadığını kontrol eder.
$a = 5;
$b = 5;
var_dump($a <= $b); // true (5, 5'e eşittir)
8. Büyük Eşittir Operatörü (>=
)
Sol taraftaki değerin sağ taraftaki değerden büyük veya eşit olup olmadığını kontrol eder.
$a = 10;
$b = 5;
var_dump($a >= $b); // true (10, 5'ten büyüktür)
9. Uzay Gemisi Operatörü (<=>
)
PHP 7 ile tanıtılan bu operatör, iki değeri karşılaştırır ve:
- Eğer sol taraf sağ taraftan küçükse
-1
, - Eğer eşitse
0
, - Eğer büyükse
1
döner.
$a = 5;
$b = 10;
echo $a <=> $b; // -1 (sol taraf sağ taraftan küçük)
echo $b <=> $a; // 1 (sol taraf sağ taraftan büyük)
echo $a <=> 5; // 0 (eşit)
10. Null Birleştirme Operatörü (??
)
Bir değişkenin var olup olmadığını ve null olup olmadığını kontrol eder. Eğer null değilse solundaki değeri döner, null ise sağındaki değeri döner.
$a = null;
$b = "value";
echo $a ?? $b; // "value" (a null olduğu için b'yi döner)
11. Nullsafe Operatörü (?->
) (PHP 8 ile eklendi)
Bu operatör, bir nesnenin null olup olmadığını kontrol eder. Eğer nesne null değilse bir metodu çağırır veya özelliği getirir, null ise hata vermez ve null döner.
$result = $object?->method();
Karşılaştırma Operatörleri ile Örnek:
$a = 5;
$b = "5";
var_dump($a == $b); // true (değerler eşit)
var_dump($a === $b); // false (türler farklı)
var_dump($a != $b); // false (değerler eşit)
var_dump($a !== $b); // true (türler farklı)
var_dump($a < 10); // true (5, 10'dan küçük)
var_dump($a >= 5); // true (5, 5'e eşit)
Özet
PHP 8'de karşılaştırma operatörleri, farklı veri türleri ve değerler arasında karşılaştırma yaparak sonuç üretmeyi sağlar. Bu operatörler özellikle koşullu ifadelerde yaygın olarak kullanılır. ==
ve ===
gibi operatörler arasında tür farkları dikkat edilmesi gereken önemli bir detaydır, çünkü ==
sadece değeri kontrol ederken, ===
hem türü hem de değeri kontrol eder.