Vergleiche#
Häufig ist es notwendig, Werte miteinander zu vergleichen, um die Ausgabe oder den Ablauf zu verändern. Da PHP lose Datentypen verwendet, ist es nicht immer einfach, die richtigen Vergleichsoperatoren zu finden. In diesem Kapitel werden die wichtigsten Vergleichsoperatoren vorgestellt. PHP kennt folgende Operatoren:
| Operator | Name | Erläuterung |
|---|---|---|
$a == $b | Gleich | $a und $b haben den selben Wert unabhängig vom Typ (Typen werden konvertiert) |
$a === $b | Identisch | $a und $b haben den selben Typ und Inhalt |
$a != $b | Ungleich | $a und $b haben nicht den selben Wert unabhängig vom Typ |
$a !== $b | Nicht Identisch | $a und $b haben einen unterschiedlichen Typ oder unterschiedliche Werte |
$a < $b | Kleiner | $a muss kleiner als $b sein |
$a <= $b | Kleiner Gleich | $a muss kleiner oder gleich $b sein |
$a > $b | Grösser | $a muss grösser als $b sein |
$a >= $b | Grösser Gleich | $a muss grösser oder gleich $b sein |
Unterschied == und ===#
PHP hat schwache Typen, dass heisst es gibt zwei Arten von Vergleichen: == und ===. == vergleicht nur den Wert, === vergleicht Wert und Typ.
Logische Operatoren#
Logische Operatoren werden verwendet, um mehrere Vergleiche zu verknüpfen. Die wichtigsten Operatoren sind:
| Operator | Name | Erläuterung |
|---|---|---|
and / && | Und | Wahr, wenn Links und Rechts wahr sind |
or / || | Oder | Wahr, wenn eine Seite wahr ist |
xor | Entweder Order | Wahr, wenn nur eine Seite wahr ist |
! | Nicht | Invertiert wahr in falsch |
<=> | Spaceship | Gibt einen Int zurück (Wie C# CompareTo()) |
If - Statements#
Die Vergleiche alleine bringen ohne eine Überprüfung nicht sehr viel. Mit dem if können wir überprüfen, ob eine Bedingung erfüllt ist. Wenn die Bedingung erfüllt ist, wird der Codeblock ausgeführt. Wenn die Bedingung nicht erfüllt ist, wird der Codeblock übersprungen. Der Codeblock wird immer mit geschweiften Klammern {} umschlossen. Die Bedingung wird in runden Klammern () geschrieben.
Mit else können wir einen Codeblock definieren, der ausgeführt wird, wenn die Bedingung nicht erfüllt ist.
Switch#
Mit switch können wir eine Variable auf verschiedene Werte überprüfen. Dies kann nützlich sein, wenn mehre Überprüfungen nacheinander ausgeführt werden sollen. Der Codeblock wird ausgeführt, wenn der Wert der Variable mit dem Wert des case übereinstimmt. Mit break können wir den Codeblock beenden. Ohne break wird der Codeblock bis zum Ende ausgeführt. Mit default können wir einen Codeblock definieren, der ausgeführt wird, wenn keine der Bedingungen erfüllt ist.