Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie PHP-Vergleichsoperatoren, um verschiedene Typen zu vergleichen

So verwenden Sie PHP-Vergleichsoperatoren, um verschiedene Typen zu vergleichen

伊谢尔伦
伊谢尔伦Original
2017-06-21 14:22:091585Durchsuche

1. PHP-Vergleichsoperatoren

$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 a8093152e673feb7aba1828c43532094 $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 b5b4b77caff5384ae93bd0d228d42944 $b ist größer als WAHR, wenn $a streng genommen $b ist.
$a 239ee23d2109c5e056296ab5312ba6cb= $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). >

Zeichenfolge, Ressource oder Zahl Zeichenfolge, Ressource oder Zahl Konvertieren Sie Zeichenfolgen und Ressourcen in Zahlen, verglichen mit gewöhnlicher Mathematik.

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

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[&#39;action&#39;])) ? &#39;default&#39; : $_POST[&#39;action&#39;];  
// The above is identical to this if/else statement  
if (empty($_POST[&#39;action&#39;])) {  
$action = &#39;default&#39;;  
} else {  
$action = $_POST[&#39;action&#39;];  
}  
?>

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn