Maison >développement back-end >tutoriel php >Comment utiliser les opérateurs de comparaison PHP pour comparer différents types

Comment utiliser les opérateurs de comparaison PHP pour comparer différents types

伊谢尔伦
伊谢尔伦original
2017-06-21 14:22:091673parcourir

1. Opérateurs de comparaison PHP

$a == $b est égal à VRAI si $a est égal à $b.
$a === $b est congruent VRAI si $a est égal à $b et que leurs types sont également les mêmes. (Introduit dans PHP 4)
$a != $b n'est pas égal à TRUE si $a n'est pas égal à $b.
$a a8093152e673feb7aba1828c43532094 $b n'est pas égal à TRUE si $a n'est pas égal à $b.
$a !== $b n'est pas congruent VRAI si $a n'est pas égal à $b, ou si leurs types sont différents. (PHP 4 uniquement)
$a 91e247165614bb8a3dbf5e94e67927c3 $b est supérieur à TRUE si $a est strictement $b.
$a bd1cd01d2b49d4e15e89d816b03f8e25= $b est supérieur ou égal à VRAI si $a est supérieur ou égal à $b.

Si l'opérateur de comparaison PHP compare un entier à une chaîne, la chaîne est convertie en entier. Si vous comparez deux chaînes numériques, comparez-les sous forme d’entiers. Cette règle s'applique également aux instructions switch.

<?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;  
}  
?>

Si les opérandes sont de types différents, ils sont comparés (dans l'ordre) selon le tableau suivant.

2. Les opérateurs de comparaison PHP comparent différents types

null ou chaîne de caractères Convertir NULL en "" pour une comparaison numérique ou lexicale
bool ou null Tout autre type est converti en bool, FALSE < ; TRUE
Les classes intégrées aux objets objets peuvent définir leurs propres comparaisons. Les propriétés d'une même classe ne peuvent pas être comparées de la même manière (en PHP 4, il a sa propre description

string , ressource ou nombre chaîne, ressource ou nombre Convertir les chaînes et les ressources en nombres, comparés par les mathématiques ordinaires

array array Un tableau avec moins de membres est plus petit si la clé de l'opérande 1 n'existe pas dans l'opérande 2 Alors les tableaux ne peuvent pas être comparés, sinon les valeurs sont comparées une par une

tout autre type de tableau est toujours plus grand

tout autre type d'objet est toujours plus grand. >

L'un des opérateurs de comparaison PHP
<?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  
}  
?>
Opérateur ternaire

Opérateur Un autre opérateur conditionnel est l'opérateur "?:" (ou ternaire).

L'expression (expr1) ? (expr2) : (expr3) a la valeur expr2 lorsque expr1 est évaluée à VRAI et expr3 lorsque expr1 est évaluée à FAUX.
<?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;];  
}  
?>

Remarque : Notez que l'opérateur ternaire est une instruction, donc son évaluation n'est pas une variable, mais le résultat de l'instruction. Ceci est important si vous souhaitez renvoyer une variable par référence. L'instruction return $var == 42 ? $a : $b; dans une fonction qui renvoie par référence ne fonctionnera pas, et une future version de PHP émettra un avertissement à ce sujet.

Identifier les opérateurs pour mettre en œuvre des comparaisons logiques

a. Relations multiples qui sont directement OU (entrée utilisateur)

b. >
time>12
time=9

c. Opérateurs de comparaison disponibles (>, <, <=, =, !=)

time>12&&time<25
d L'objet à comparer doit être déchargé devant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn