PHP Karşılaştırma Operatörleri
Koşullu ifadeler ile birlikte kullanırız.
== eşittir : iki değerin birbirine eşitse true döner.
$a = 5;
$b = 5;
echo $a == $b; // true döner
!= eşit değildir : iki değerin birbirine eşit değilse şart sağlanır ve true döner.
$a = 5;
$b = 6;
echo $a != $b; // true döner. Eşit olursa false döner
<> eşit değildir : iki değerin birbirine eşit değilse şart sağlanır ve true döner.
$a = 5;
$b = 6;
echo $a <> $b; // true döner. Eşit olursa false döner
> Büyüktür : Soldaki değerin sağdakinden büyükse true döner.
$a = 6;
$b = 5;
echo $a > $b; // true döner.
< Küçüktür : Soldaki değerin sağdakinden küçükse true döner.
$a = 3;
$b = 5;
echo $a < $b; // true döner.
>= Büyük ya da eşitse : Soldaki değerin sağdakinden büyük ya da eşitse true döner.
$a = 5;
$b = 5;
echo $a >= $b; // true döner.
<= Küçük ya da eşitse : Soldaki değerin sağdakinden küçük ya da eşitse true döner.
$a = 5;
$b = 5;
echo $a <= $b; // true döner.
=== denkse : Değişkenlerin değerleri ve türleri eşitse true döner.
$a = 5;
$b = 5;
echo $a === $b; // true döner.
// == ve === farkı nedir?
$a = 5;
$b = "5";
echo $a == $b; // true döner. Çünkü her ikisi de 5 değerine sahip fakat
echo $a === $b; //false olur. Çünkü $b string bir ifade. Yani değerler aynı fakat türler farklı
!== denk değilse : Değişkenlerin değerleri ya da türleri eşit değilse true döner.
$a = 6;
$b = 5;
echo $a !== $b; // true döner.
// != ve !== farkı nedir?
$a = 6;
$b = "5";
echo $a != $b; // true döner.
$a = 6;
$b = "6";
echo $a !== $b; //true olur. Çünkü $b string bir ifade. Yani değerler aynı fakat türler farklı
$a <=> $b Spaceship(Mekik) : PHP 7 ve sonrasında geçerli yeni bir operatör. İki ifadeyi kıyaslar, ilk ifade ikinci ifadeden sırasıyla daha küçük, eşit veya daha büyük olduğunda -1, 0 veya 1 döndürür.
//integer karşılaştırma
print( 1 <=> 1);print("<br/>"); // 0
print( 1 <=> 2);print("<br/>"); // -1
print( 2 <=> 1);print("<br/>"); // 1
print("<br/>");
//float karşılaştırma
print( 1.5 <=> 1.5);print("<br/>"); // 0
print( 1.5 <=> 2.5);print("<br/>"); // -1
print( 2.5 <=> 1.5);print("<br/>"); // 1
print("<br/>");
//string karşılaştırma
print( "a" <=> "a");print("<br/>"); // 0
print( "a" <=> "b");print("<br/>"); // -1
print( "b" <=> "a");print("<br/>"); // 1
ikinci örnek:
switch($a <=> $b){
case -1:
echo "a küçük b";
break;
case 0:
echo "a eşit b";
break;
case 1:
echo "a büyük b";
}
Bu konu koşullu ifadeler konusunda daha iyi anlaşılacaktır.