In diesem Tutorial geht es um Vergleichsoperatoren, mit ihnen kann man zwei Werte auf den Inhalt vergleichen. Sie werden in den Erklärungen öfters auf den Begriff TRUE stoßen. Dies ist ein Wert der zurück gegeben wird, wenn eine Bedingung erfüllt wurde, andernfalls ist FALSE der Rückgabewert.
Dieser Rückgabewert entscheidet, ob der Code, der bei einer if-Bedingung zwischen den Klammern steht, ausgeführt wird. Bei TRUE (wahr) wird er ausgeführt, bei False (falsch) nicht.
Vergleichsoperatoren im Überblick
Name | Beispiel | Erklärung |
---|---|---|
Gleich | $a == $b | Rückgabewert ist TRUE, wenn $a den gleichen Wert wie $b hat. |
Identisch | $a === $b | Rückgabewert ist TRUE, wenn $a den gleichen Wert wie $b hat und vom gleichem Typ ist. |
Ungleich | $a != $b | Rückgabewert ist TRUE, wenn $a nicht den gleichen Wert wie $b hat. |
Ungleich | $a <> $b | Rückgabewert ist TRUE, wenn $a nicht den gleichen Wert wie $b hat. |
Unidentisch | $a !== $b | Rückgabewert ist TRUE, wenn $a nicht den gleichen Wert wie $b hat oder bei Werte nicht vom selbem Typ sind. |
Größer | $a > $b | Rückgabewert ist TRUE, wenn $a größer ist als $b. |
Kleiner | $a < $b | Rückgabewert ist TRUE, wenn $a kleiner ist als $b. |
Größer Gleich | $a >= $b | Rückgabewert ist TRUE, wenn $a größer ist als $b oder beide Werte gleich groß sind. |
Kleiner Gleich | $a <= $b | Rückgabewert ist TRUE, wenn $a kleiner ist als $b oder beide Werte gleich groß sind. |
Anwendung
Vergleichsoperatoren werden in der Regel nur in IF-Anweisungen und Schleifen angewendet, dafür werden zwei Werte benötigt, die mit einander verglichen werden. Wird eine Bedingung erfüllt wird TRUE zurückgegeben, andernfalls FALSE.
Gleich
Mit dem Gleichheitsoperator können Sie zwei Werte vergleichen, sind beide gleich wird TRUE zurückgegeben. Der Datentyp wird dabei ignoriert, sodass Sie unter anderem auch Integer mit String vergleichen können.
Sind die zwei Werte gleich, wird die Anweisung zwischen den Klammern ausgeführt:
1 2 3 4 5 6 7 8 9 | <?php //Definieren der Variablen $a = 'hallo'; $b = 'hallo'; if ($a == $b) { echo 'Die zwei Werte sind gleich.'; } //Das Beispiel gibt den Text: "Die zwei Werte sind gleich" aus, weil die beiden Variablen gleich sind. ?> |
Diese Überprüfung funktioniert auch bei zwei verschiedenen Datentypen:
1 2 3 4 5 6 7 8 9 | <?php //Definieren der Variablen $a = '123456789'; //String $b = 123456789; // Integer if ($a == $b) { echo 'Die zwei Werte sind gleich.'; } //Das Beispiel gibt den Text: "Die zwei Werte sind gleich" aus, weil die beiden Variablen gleich sind. Der Datentyp wird ignoriert. ?> |
Identisch
Der Identisch-Operator funktioniert ähnlich wie der Gleichheitsoperator, mit dem kleinem Unterschied, dass er den Datentyp unterscheidet, so ist es nicht möglich Integer mit String zu vergleichen.
Sind die zwei Werte identisch, wird die Anweisung zwischen den Klammern ausgeführt:
1 2 3 4 5 6 7 8 9 | <?php //Definieren der Variablen $a = 'hallo'; $b = 'hallo'; if ($a === $b) { echo 'Die zwei Werte sind identisch.'; } //Das Beispiel gibt den Text: "Die zwei Werte sind identisch" aus, weil die beiden Variablen identisch sind. ?> |
Sind die zwei Werte von einem anderem Typ wird FALSE zurückgegeben und es gibt keine Ausgabe:
1 2 3 4 5 6 7 8 9 | <?php //Definieren der Variablen $a = '123456789'; //String $b = 123456789; //Integer if ($a === $b) { echo 'Die zwei Werte sind identisch.'; } // In diesem Beispiel wird nichts ausgegeben, weil $a nicht der gleiche Typ ist wie $b. ?> |
Ungleich
Für den Ungleich-Operator gibt es zwei Schreibweisen.
- Variante 1 !=
- Variante 2 <>
Bei diesem Operator ist der Rückgabewert TRUE, wenn die zwei Werte unterschiedlich sind. Der Typ wird dabei ignoriert.
1 2 3 4 5 6 7 8 9 | <?php //Definieren der Variablen $a = 'hallo'; $b = 'moin'; if ($a != $b) { echo 'Die Variablen sind unterschiedlich'; } // Es wird der Text: "Die Variablen sind unterschiedlich" ausgegeben, weil hallo ungleich moin ist. ?> |
Bei dem Vorherigen Beispiel wurde die Variante 1 verwendet. Hier ist der gleiche Code mit Variante 2:
1 2 3 4 5 6 7 8 9 | <?php //Definieren der Variablen $a = 'hallo'; $b = 'moin'; if ($a <> $b) { echo 'Die Variablen sind unterschiedlich'; } // Es wird der Text: "Die Variablen sind unterschiedlich" ausgegeben, weil hallo ungleich moin ist. ?> |
Und noch ein Beispiel, das zeigen soll, dass der Datentyp ignoriert wird:
1 2 3 4 5 6 7 8 9 | <?php //Definieren der Variablen $a = '123456789'; $b = 123456789; if ($a != $b) { echo 'Die Variablen sind unterschiedlich'; } // Achtung: In diesem Beispiel wird nichts ausgegeben, weil PHP String und Integer bei dem Ungleich-Operator ignoriert und so beide Variablen gleich sind. ?> |
Unidentisch
Der Unidentisch-Operator ist etwas genauer. Er gibt TRUE zurück, wenn die Werte unterschiedlich sind oder einen verschieden Typ haben.
1 2 3 4 5 6 7 8 | <?php $a = 'hallo'; $b = 'moin'; if ($a !== $b) { echo 'Die Variablen sind unterschiedlich'; } // Es wird der Text: "Die Variablen sind unterschiedlich" ausgegeben, weil hallo ungleich moin ist. ?> |
Es wird auch TRUE zurückgegeben, wenn man String und Integer vergleicht(funktioniert bei jedem Format):
1 2 3 4 5 6 7 8 9 | <?php //Definieren der Variablen $a = '123456789'; $b = 123456789; if ($a != $b) { echo 'Die Variablen sind unterschiedlich'; } // In diesem Beispiel wird: "Die Variablen sind unterschiedlich" ausgegeben, weil die Werte aufgrund des Types unterschiedlich sind. ?> |
Größer
Der Größer-Vergleichsoperator gibt TRUE zurück, wenn der Wert links größer ist als der Wert rechts.
1 2 3 4 5 6 7 8 9 | <?php //Definieren der Variablen $a = 10; $b = 1; if ($a > $b) { echo 'Die Zahl ist größer'; } //Das Beispiel gibt aus: "Die Zahl ist größer", weil $a größer ist als $b. ?> |
Kleiner
Der Kleiner-Vergleichsoperator gibt TRUE zurück, wenn der Wert links kleiner ist als der Wert rechts.
1 2 3 4 5 6 7 8 9 | <?php //Definieren der Variablen $a = 1; $b = 10; if ($a > $b) { echo 'Die Zahl ist kleiner'; } //Das Beispiel gibt aus: "Die Zahl ist kleiner", weil $a kleiner ist als $b. ?> |
Größer Gleich
Bei diesem Operator wird TRUE zurückgegeben, wenn der Wert links größer oder gleich groß ist, als/wie Wert rechts.
1 2 3 4 5 6 7 8 9 | <?php //Definieren der Variablen $a = 10; $b = 1; if ($a >= $b) { echo 'Die Zahl ist größer'; } //Das Beispiel gibt aus: "Die Zahl ist größer", weil $a größer ist als $b. ?> |
Der Rückgabewert ist ebenfalls TRUE, wenn die Werte gleich groß sind:
1 2 3 4 5 6 7 8 9 | <?php //Definieren der Variablen $a = 10; $b = 10; if ($a >= $b) { echo 'Die Zahl ist gleich groß'; } //Das Beispiel gibt aus: "Die Zahl ist gleich groß", weil $a genau so groß ist wie $b. ?> |
Kleiner Gleich
Es wird TRUE zurück gegeben, wenn der Wert links kleiner oder gleich groß ist, als/wie der Wert rechts.
1 2 3 4 5 6 7 8 9 | <?php //Definieren der Variablen $a = 1; $b = 10; if ($a <= $b) { echo 'Die Zahl ist kleiner'; } //Das Beispiel gibt aus: "Die Zahl ist kleiner", weil $a kleiner ist als $b. ?> |
Der Rückgabewert ist ebenfalls TRUE, wenn die Werte die gleiche größe haben:
1 2 3 4 5 6 7 8 9 | <?php //Definieren der Variablen $a = 10; $b = 10; if ($a >= $b) { echo 'Die Zahl ist gleich groß'; } //Das Beispiel gibt aus: "Die Zahl ist gleich groß", weil $a genau so groß ist wie $b. ?> |