Vergleichs-Operatoren erlauben es - wie der Name schon sagt - zwei Werte zu vergleichen. Wenn Sie an Beispielen verschiedener auf Typen bezogener Vergleiche interessiert sind, können Sie sich PHP type comparison tables anschauen.
Beispiel | Name | Ergebnis |
---|---|---|
$a == $b | Gleich | Gibt TRUE zurück, wenn $a gleich $b ist. |
$a === $b | Identisch |
Gibt TRUE zurück wenn $a gleich $b ist und beide vom
gleichen Typ sind (eingeführt in PHP 4).
|
$a != $b | Ungleich |
Gibt TRUE zurück, wenn $a nicht gleich $b ist.
|
$a <> $b | Ungleich |
Gibt TRUE zurück, wenn $a nicht gleich $b ist.
|
$a !== $b | Nicht identisch |
Gibt TRUE zurück, wenn $a nicht gleich $b ist, oder wenn
beide nicht vom gleichen Typ sind (eingeführt in PHP 4).
|
$a < $b | Kleiner Als | Gibt TRUE zurück, wenn $a kleiner als $b ist. |
$a > $b | Größer Als | Gibt TRUE zurück, wenn $a größer als $b ist. |
$a <= $b | Kleiner Gleich |
Gibt TRUE zurück, wenn $a kleiner oder gleich $b ist.
|
$a >= $b | Größer Gleich |
Gibt TRUE zurück, wenn $a größer oder gleich $b ist.
|
Ein weiterer Vergleichs-Operator ist der "?:" (oder ternäre) Operator.
<?php
// Beispielanwendung für den ternären Operator
$action = (empty($_POST['action'])) ? 'standard' : $_POST['action'];
// Obiges ist mit dieser if/else-Anweisung identisch
if (empty($_POST['action'])) {
$action = 'standard';
} else {
$action = $_POST['action'];
}
?>
TRUE
zurückgibt und
ausdr3, wenn
ausdr1 FALSE
zurückgibt.
Seit PHP 5.3 kann man beim ternären Operator den mittleren Teil
weglassen. Der Ausdruck (ausdr1) ?: (ausdr3)
gibt ausdr1 zurück, wenn
ausdr1 als TRUE
ausgewertet wird,
andernfalls ausdr3.
Siehe auch strcasecmp(), strcmp(), Array-Operatoren und den Abschnitt über Typen.