Maison >développement back-end >tutoriel php >Analyse des opérateurs de comparaison PHP et des opérateurs logiques

Analyse des opérateurs de comparaison PHP et des opérateurs logiques

怪我咯
怪我咯original
2017-04-05 10:24:481446parcourir

L'opérateur

est un symbole qui indique au compilateur d'effectuer une opération arithmétique ou logique spécifique. Il forme généralement une expression avec les opérandes. Nous le voyons souvent participer à des opérations mathématiques ou logiques. PHP contient également de nombreux opérateurs. Cet article explique en détail les opérateurs de comparaison très importants.


Analyse des opérateurs de comparaison PHP et des opérateurs logiques


Types d'opérateurs de comparaison

J'aime comme leur nom l’indique, ils permettent de comparer deux valeurs. Les opérateurs de comparaison sont les suivants :
1) $a > $b Supérieur à : Si $a est strictement supérieur à $b, TRUE est renvoyé
2 ) $a Inférieur à : Si $a est strictement inférieur à $b, renvoie TRUE
3) $a >= $b Supérieur ou égal à : Si $a est supérieur ou égal à $b, renvoie TRUE
4) $a Inférieur ou égal à : Si $a est inférieur ou égal à $b, alors renvoie TRUE
5) $a $b n'est pas égal à : si $a n'est pas égal à $b, alors renvoie TRUE
6) $a != $b Différent de : Si $a n'est pas égal à $b, renvoie VRAI (comme ci-dessus)
7) $a == $b est égal à : si $a est égal à $b, alors renvoie VRAI
8) $a === $b est égal à : si $a Égal à $b, et que leurs types sont également les mêmes, retournez TRUE
9) $a !== $b Pas tous égaux : si $a n'est pas égal à $b, ou si leurs types sont différents, VRAI est renvoyé C'est égal à comparer les valeurs ​​et les types de données des expressions des deux côtés de l'opérateur en même temps. Ce n'est que lorsque les valeurs des deux côtés sont égales que le résultat de l'opération est "vrai". Combinée avec l'opérateur "inégalité", par exemple, $a = 2; var_dump($a!==2); cette expression renvoie "false" car 2 est égal à 2. De plus, $a = 2; est un type entier et 2 dans var_dump($a!==2); est également un type entier, mais l'opérateur n'est pas exactement égal à "!==", donc le résultat est faux. , car 2 est égal à 2 . En revanche, si tel est le cas $a = 2; var_dump($a!=='2'); le résultat de l'opération est "true", car 2 n'est pas égal à '2', et ce qui suit « 2 » est une chaîne de « 2 », c'est-à-dire que tous ne sont pas égaux non seulement pour comparer les valeurs des variables, mais également pour comparer les types de données des variables.

Comparaison de résultats de différents types en PHP

Si l'opérateur de comparaison PHP compare un entier et une chaîne, la chaîne sera convertie en entier avant comparaison. Si vous comparez deux chaînes numériques, elles sont comparées sous forme d'entiers et cette règle s'applique également aux instructions switch.

Par exemple :

var_dump(0 == "a"); // Renvoie TRUE, "a" est converti en 0
var_dump("1" == "01"); , Traiter comme un entier

Comparaison entre une chaîne ou null et une chaîne : Convertir NULL en "", comparer des nombres ou des chaînes
Comparaison entre bool ou null : Convertir en bool, FALSE chaîne, ressource ou nombre : convertissez les chaînes et les ressources en nombres et comparez le
tableau selon les mathématiques ordinaires. Comparaison entre : Les tableaux avec moins de membres sont plus petits. Si la clé de l'opérande 1 n'existe pas dans l'opérande 2, les tableaux ne peuvent pas être comparés et doivent être comparés valeur par valeur (voir le code suivant)
tableau et tout autre type. Comparaison : le tableau est toujours plus grand
Comparaison entre un objet et tout autre type : l'objet est toujours plus grand





Code de comparaison du tableau :

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 
}


Opérateur ternaire dans l'opérateur de comparaison :

Expression (expr1) (expr2) : (expr3 ) La valeur de expr2 lorsque expression expr1 est évalué à TRUE et la valeur de expr3 lorsque l'expression expr1 est évaluée à FALSE.

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
Article précédent:Bases des tableaux PHPArticle suivant:Bases des tableaux PHP