Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erklärung der PHP-Vergleichsoperatoren
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 wird der sehr wichtige Vergleichsoperator 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 faff8a758477024523dcb2c2082894eb= $b größer oder gleich: Wenn $a größer oder gleich $b ist, dann TRUE zurückgeben
4) $a 591291f7ff9bf00585113bdf04c1cad8 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. Die „2“ von bedeutet, dass nicht alle Gleichheiten nicht nur die Variablenwerte, sondern auch die Datentypen der Variablen vergleichen.
Ergebnisse verschiedener Typen in PHP vergleichen
Wenn der PHP-Vergleichsoperator eine Ganzzahl und eine Zeichenfolge vergleicht, wird die Zeichenfolge in „Vergleichen“ konvertiert nach ganzen Zahlen. 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 , Behandle es als Ganzzahl
Vergleich zwischen String oder Null und String: NULL in „ konvertieren“, Zahlen oder Strings vergleichen
Vergleich zwischen Bool oder Null: In Bool konvertieren, FALSE < TRUE
In Objekte integrierte Klassen können ihre eigenen Vergleiche definieren. Vergleiche zwischen Attributen derselben Klasse
String, Ressource oder Zahl: Konvertieren Sie Strings und Ressourcen in Zahlen und vergleichen Sie das Array gemäß der normalen 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). Typvergleich: Array ist immer größer
Vergleich zwischen Objekt und jedem anderen Typ: Objekt ist immer größer
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 }Der
ternäre Operation-Operator im Vergleichsoperator: Ausdruck (Ausdruck1) ? (Ausdruck2) : (Ausdruck3) Wenn der Wert des Ausdrucks Ausdruck1 TRUE ist, ist der Wert Ausdruck2, der Wert von expr3, wenn Ausdruck expr1 als FALSE ausgewertet wird.
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der PHP-Vergleichsoperatoren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!