Bislang können wir nur Werte direkt miteinander vergleichen, also hat die Variable „zahl“ den Wert „10“ oder hat die Variable „name“ den Wert „Max“. Doch häufig reicht das nicht aus und man möchte z.b. wissen, ob die Variable einen Wert größer 10 hat oder einen Wert der zwischen 100 und 200 liegt. Dafür gibt es dann weitere Vergleichsoperatoren:
- $a == $b – prüft ob beide Werte gleich sind
- $a != $b – prüft ob die Werte ungleich sind
- $a < $b – prüft ob der linke Wert kleiner als der rechte Wert ist
- $a > $b – prüft ob der linke Wert größer als der rechte Wert ist
- $a <= $b – prüft ob der linke Wert kleiner oder gleich ist vom rechten Wert
- $a >= $b – prüft ob der linke Wert größer oder gleich ist vom rechten Wert
- $a <> $b – prüft ob die Werte ungleich sind (funktioniert genau wie $a != $b )
- $a === $b – prüft ob beide Werte gleich sind und ob beide vom selben Typ sind
- $a !== $b – prüft ob die Werte ungleich sind und ob beide einen unterschiedlichen Typ haben
$a == $b
Das doppelte Gleichheitszeichen kennst du schon, damit können wir zwei Werte vergleichen, und wenn sie den gleichen Wert haben, dann ist der Ausdruck wahr.
Beispiele:
<?php if(5 == 5) echo 'Der Ausdruck ist wahr'; ?>
<?php $a = 5; if($a == 5) echo 'Der Ausdruck ist wahr'; ?>
<?php $a = 5; $b = 5; if($a == $b) echo 'Der Ausdruck ist wahr'; ?>
$a != $b
Das Gegenteil vom doppelten Gleichheitszeichen, prüft ob die beiden Werte ungleich sind. Wenn beide Werte ungleich sind, ist der Ausdruck wahr
Beispiele:
<?php if(5 != 4) echo 'Der Ausdruck ist wahr, denn 5 ist ungleich 4'; ?>
<?php $a = 5; if($a != 4) echo 'Der Ausdruck ist wahr, denn 5 ist ungleich 4'; ?>
$a < $b
Ist der Wert der Variable „a“ kleiner als der Wert der Variable „b“, dann ist der Ausdruck wahr.
<?php $a = 5; if($a < 10) echo 'Der Ausdruck ist wahr, denn 5 ist kleiner 10'; ?>
<?php $a = 5; if($a < 6) echo 'Der Ausdruck ist wahr, denn 5 ist kleiner 6'; ?>
$a > $b
Ist der Wert der Variable „a“ größer als der Wert der Variable „b“, dann ist der Ausdruck wahr.
<?php $a = 5; if($a > 4) echo 'Der Ausdruck ist wahr, denn 5 ist größer 4'; ?>
$a <= $b
Ist der Wert der Variable „a“ kleiner oder gleich als der Wert der Variable „b“, dann ist der Ausdruck wahr.
<?php $a = 3; if($a <= 4) echo 'Der Ausdruck ist wahr, denn 3 ist kleiner 4'; ?>
<?php $a = 5; if($a <= 5) echo 'Der Ausdruck ist wahr, denn 5 ist gleich 5'; ?>
$a >= $b
Ist der Wert der Variable „a“ größer oder gleich als der Wert der Variable „b“, dann ist der Ausdruck wahr.
<?php $a = 5; if($a >= 4) echo 'Der Ausdruck ist wahr, denn 5 ist größer 4'; ?>
<?php $a = 5; if($a >= 5) echo 'Der Ausdruck ist wahr, denn 5 ist gleich 5'; ?>
$a <> $b
Ist der Wert der Variable „a“ ungleich dem Wert der Variable „b“, dann ist der Ausdruck wahr. Genau wie der Ausdruck $a != $b
<?php $a = 5; if($a <> 4) echo 'Der Ausdruck ist wahr, denn 5 ist ungleich 4'; ?>
<?php $a = 10; $b = 1; if($a <> $b) echo 'Der Ausdruck ist wahr, denn 10 ist ungleich 1'; ?>
$a === $b
Das dreifache Gleichheitszeichen funktioniert wie das doppelte Gleichheitszeichen und prüft den Wert beider Variablen. Doch zusätzlich prüft das dreifache Gleichheitszeichen noch, ob die beiden Variablen vom gleichen Typ sind. Dazu ein Beispiel:
<?php $a = 0; if($a == false) echo 'Der Ausdruck ist wahr, denn der Wert 0 ist gleich false'; ?>
Der Ausdruck in obigem Beispiel ergibt wahr denn der Wert integer Wert „0“ ist gleich dem boolischen Wert „false“. Der Ausdruck in folgendem Beispiel hingegen funktioniert nicht:
<?php $a = 0; if($a === false) echo 'Dieses "echo" wird nicht ausgeführt.'; ?>
Der Ausdruck ist falsch, denn auch wenn die Werte „0“ und „false“ gleich sind, so sind die beiden Typen Integer (0) und Boolean (false) ungleich.
$a !== $b
Geprüft wird, ob die Werte der beiden Variablen unterschiedlich sind und ob die Variablen einen unterschiedlichen Typen haben.
<?php $a = 0; if($a !== false) echo 'Der Ausdruck ist wahr, denn der Wert "0" ist zwar gleich "false", aber die beiden Typen Integer und Boolean sind unterschiedlich.'; ?>