$a == $b ist gleich TRUE, wenn $a gleich $b ist.
$a === $b ist kongruent WAHR, wenn $a gleich $b ist und ihre Typen auch gleich sind. (Eingeführt in PHP 4)
$a != $b ist nicht gleich TRUE, wenn $a nicht gleich $b ist.
$a <> $b ist nicht gleich TRUE, wenn $a nicht gleich $b ist.
$a !== $b nicht kongruent WAHR, wenn $a nicht gleich $b ist oder ihre Typen unterschiedlich sind. (Nur PHP 4)
$a < $b ist kleiner als TRUE, wenn $a strikt kleiner als $b ist.
$a > $b ist größer als WAHR, wenn $a streng genommen $b ist.
$a <= $b ist kleiner oder gleich TRUE, wenn $a kleiner oder gleich $b ist.
$a >= $b ist größer oder gleich TRUE, wenn $a größer oder gleich $b ist.
Wenn der PHP-Vergleichsoperator eine Ganzzahl mit einer Zeichenfolge vergleicht, wird die Zeichenfolge in eine Ganzzahl umgewandelt. Wenn Sie zwei numerische Zeichenfolgen vergleichen, vergleichen Sie sie als ganze Zahlen. Diese Regel gilt auch für switch-Anweisungen.
<?php var_dump(0 == "a"); // 0 == 0 -> true var_dump("1" == "01"); // 1 == 1 -> true switch ("a") { case 0: echo "0"; break; case "a": // never reached because "a" is already matched with 0 echo "a"; break; } ?>
Wenn die Operanden unterschiedlichen Typs sind, werden sie (in der Reihenfolge) gemäß der folgenden Tabelle verglichen.
2. PHP-Vergleichsoperatoren vergleichen verschiedene Typen
null oder string string Konvertieren Sie NULL in „“ für numerischen oder lexikalischen Vergleich
bool oder null Jeder andere Typ wird in bool, FALSE <. konvertiert ; TRUE
Objektobjekte können eigene Vergleiche definieren. Eigenschaften derselben Klasse und Arrays können nicht auf die gleiche Weise verglichen werden (in PHP 5 gibt es eine eigene Beschreibung). >
Array-Array Ein Array mit weniger Mitgliedern ist kleiner, wenn der Schlüssel in Operand 1 nicht in Operand 2 vorhanden ist. Dann Die Arrays können nicht verglichen werden, andernfalls werden die Werte einzeln verglichen.
Jeder andere Objekttyp ist immer größer >
Einer der PHP-Vergleichsoperatoren
Ternärer Operator
<?php // 数组是用标准比较运算符这样比较的 function standard_array_compare($op1, $op2) { if (count($op1) < count($op2)) { return -1; // $op1 < $op2 } elseif (count($op1) > count($op2)) { return 1; // $op1 > $op2 } foreach ($op1 as $key => $val) { if (!array_key_exists($key, $op2)) { return null; // uncomparable } elseif ($val < $op2[$key]) { return -1; } elseif ($val > $op2[$key]) { return 1; } } return 0; // $op1 == $op2 } ?>
Ein weiterer bedingter Operator ist der „?:“ (oder ternäre) Operator.
Der Ausdruck (expr1) ? (expr2): (expr3) hat den Wert expr2, wenn expr1 als TRUE ausgewertet wird, und expr3, wenn expr1 als FALSE ausgewertet wird. Hinweis: Beachten Sie, dass der ternäre Operator eine Anweisung ist, seine Auswertung also keine Variable, sondern das Ergebnis der Anweisung ist. Dies ist wichtig, wenn Sie eine Variable per Referenz zurückgeben möchten. Die Anweisung return $var == 42 ? $a : $b; in einer Funktion, die per Referenz zurückgibt, wird nicht funktionieren und eine zukünftige Version von PHP wird eine Warnung darüber ausgeben.<?php // Example usage for: Ternary Operator $action = (empty($_POST['action'])) ? 'default' : $_POST['action']; // The above is identical to this if/else statement if (empty($_POST['action'])) { $action = 'default'; } else { $action = $_POST['action']; } ?>
Identifizieren Sie Operatoren zur Implementierung logischer Vergleiche
a. Mehrere Beziehungen, die direkt ODER sind (Benutzereingabe)
b >c. Verfügbare Vergleichsoperatoren (>, <, <=, =, !=)time>12 time=9
d Das zu vergleichende Objekt muss vorher entladen werden.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP-Vergleichsoperatoren, um verschiedene Typen zu vergleichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!