Der
-Operator ist ein Symbol, das den Compiler anweist, eine bestimmte arithmetische oder logische Operation auszuführen. Er bildet normalerweise zusammen mit den Operanden einen Ausdruck. PHP enthält auch viele Operatoren. In diesem Artikel werden die sehr wichtigen Vergleichsoperatoren ausführlich erläutert.
Vergleichsoperatortypen
Wie der Name schon sagt, ermöglichen sie den Vergleich zweier Werte. Die Vergleichsoperatoren lauten wie folgt:
1) $a > $b ist größer als: Wenn $a unbedingt größer als $b ist, wird TRUE zurückgegeben
2) $a 3) $a >= $b größer oder gleich: Wenn $a größer oder gleich $b ist, dann TRUE zurückgeben
4) $a 5) $a nicht gleich $b ist, dann wird TRUE zurückgegeben
6) $a != $b ist nicht gleich: Wenn $a nicht gleich $b ist, wird TRUE zurückgegeben (wie oben)
7 ) $a == $b ist gleich: Wenn $a gleich $b ist, wird TRUE zurückgegeben
8) $a === $b ist gleich: Wenn $a gleich $b ist, und Ihre Typen sind ebenfalls gleich, geben Sie TRUE zurück
9) $a !== $b ist nicht gleich: Wenn $a nicht gleich $b ist oder ihre Typen unterschiedlich sind, geben Sie TRUE zurück
Unter diesen müssen wir uns auf die Unterscheidung zwischen „gleich“ und „gleich“ konzentrieren. $a == $b führt nur eine Vergleichsoperation für die Werte zweier Variablen durch, während „gleich“ den Ausdruck erfordert Die Formel vergleicht Werte und Datentypen gleichzeitig. Nur wenn die Werte auf beiden Seiten gleich sind, ist das Operationsergebnis „wahr“. In Kombination mit dem „Ungleichheits“-Operator gibt dieser Ausdruck beispielsweise „false“ zurück, da 2 gleich 2 ist. Darüber hinaus ist $a = 2; ein ganzzahliger Typ und 2 in var_dump($a!==2); ist jedoch nicht genau gleich „!==“, sodass das Ergebnis falsch ist , weil 2 gleich 2 ist. Wenn dies jedoch der Fall ist, ist $a = 2; var_dump($a!=='2'); das Ergebnis der Operation „wahr“, da 2 nicht gleich „2“ ist, und Folgendes '2' ist eine Zeichenfolge von '2', das heißt, nicht alle Gleichen vergleichen nicht nur die Variablenwerte, sondern auch die Datentypen der Variablen.
Ergebnisse verschiedener Typen in PHP vergleichen
Wenn der PHP-Vergleichsoperator eine Ganzzahl und eine Zeichenfolge vergleicht, wird die Zeichenfolge vor dem Vergleich in eine Ganzzahl konvertiert. Wenn Sie zwei numerische Zeichenfolgen vergleichen, werden diese als Ganzzahlen verglichen, und diese Regel gilt auch für Switch-Anweisungen.
Zum Beispiel:
var_dump(0 == "a"); // Rückgabe TRUE, "a" wird in 0 umgewandelt
var_dump("1" == "01"); // Rückgabe TRUE , Als Ganzzahl behandeln
Vergleich zwischen String oder Null und String: NULL in „ konvertieren“, Zahlen oder Strings vergleichen
Vergleich zwischen Bool oder Null: In Bool konvertieren, FALSE Objekt Integrierte Klassen können ihre eigenen Vergleiche definieren. Vergleiche zwischen Attributen derselben Klasse
Zeichenfolge, Ressource oder Zahl: Konvertieren Sie Zeichenfolgen und Ressourcen in Zahlen und vergleichen Sie das
Array gemäß der üblichen Mathematik. Vergleich zwischen: Arrays mit weniger Mitgliedern sind kleiner. Wenn der Schlüssel in Operand 1 nicht in Operand 2 vorhanden ist, können die Arrays nicht verglichen werden und müssen Wert für Wert verglichen werden (siehe folgenden Code)
Array und jeder andere Typ Vergleich: Array ist immer größer
Vergleich zwischen Objekt und jedem anderen Typ: Objekt ist immer größer
Array-Vergleichscode:
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; } else if ($val < $op2[$key]) { return -1; } elseif ($val > $op2[$key]) { return 1; } } return 0; // $op1 == $op2 }
Drei im Vergleichsoperator Meta- Operator:
Expression (expr1) ? (expr2) : (expr3) Wenn der Wert von Ausdruck expr1 TRUE ist, ist der Wert expr2, wenn der Wert von Ausdruck expr1 FALSE ist, ist der Wert expr3 .