Heim >Backend-Entwicklung >PHP-Tutorial >Wie verwende ich PHP-Vergleichsoperatoren? Detaillierte Erläuterung der Verwendung des Vergleichsoperators
Vergleichsoperatoren ermöglichen 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 091eb6795cdcfeac82232e7556fe616f= $b ist größer oder gleich: Wenn $a größer oder gleich $b ist, dann WAHR
4) $a 7560cf786bacc5edf8c5e269c47359d1 : Wenn $a nicht gleich $b ist, geben Sie TRUE zurück
6) $a != $b ist nicht gleich: Wenn $a nicht gleich $b ist, geben Sie TRUE zurück (wie oben)
7 ) $a == $b Gleich: Wenn $a gleich $b ist, gib TRUE zurück
8) $a === $ b sind alle gleich: wenn $a gleich $b ist, und ihre Typen sind auch gleich, dann gib TRUE zurück
9) $a !== $b ist nicht alle gleich: Wenn $a nicht gleich $b ist oder ihre Typen unterschiedlich sind, dann gib TRUE zurück
Unter Bei ihnen müssen wir uns auf die Unterscheidung zwischen „gleich“ und „gleich“ konzentrieren. $a == $b vergleicht nur die Werte der beiden Variablen und führt die Ausdrücke auf beiden Seiten aus Wertvergleich und Datentyp 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 in eine Ganzzahl konvertiert und dann verglichen. 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 < TRUE
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
1 Für Array
$a=array(1,2,3,6); $b=array(1,2,3,6,8); echo "\n"; var_dump( $a>$b); var_dump( $a==$b); var_dump( $a<$b);
Ergebnis:
boolean false boolean false boolean true
ps: Ein Array mit weniger Mitgliedern ist kleiner
$a=array(1,2,3,6,9); $b=array(1,2,3,6,8); echo "\n"; var_dump( $a>$b); var_dump( $a==$b); var_dump( $a<$b); boolean true boolean false boolean false
ps: Werte einzeln vergleichen
$a=array(1,2,3,6,'b'=>3); $b=array(1,2,3,6,8); echo "\n"; var_dump( $a>$b); var_dump( $a==$b); var_dump( $a<$b); boolean false boolean false boolean false
ps : Wenn der Schlüssel in Operand 1 in Operand 2 nicht vorhanden ist, können die Arrays nicht verglichen werden und es wird „false“ zurückgegeben.
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 }
2. Vergleich zwischen bool oder null und anderen Typen
var_dump((bool)(null));// boolean false//null ist false, wenn es in bool konvertiert wird; andere
-Typen werden in bool konvertiert und dann verglichen, und FALSE < TRUE
Der
ternäre Operation
Das obige ist der detaillierte Inhalt vonWie verwende ich PHP-Vergleichsoperatoren? Detaillierte Erläuterung der Verwendung des Vergleichsoperators. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!