Maison  >  Article  >  développement back-end  >  Comment utiliser les opérateurs de comparaison php ? Explication détaillée de l'utilisation de l'opérateur de comparaison

Comment utiliser les opérateurs de comparaison php ? Explication détaillée de l'utilisation de l'opérateur de comparaison

伊谢尔伦
伊谢尔伦original
2017-06-21 10:41:172379parcourir

Les opérateurs de comparaison permettent de comparer deux valeurs. Les opérateurs de comparaison sont les suivants :

1) $a > $b est supérieur à : si $a est strictement supérieur à $b, alors TRUE est renvoyé
2) $a 985ce80a614dd9593319f9e3af35d623= $b est supérieur ou égal à : Si $a est supérieur ou égal à $b, alors VRAI
4) $a 062d7954397f896f3e22bb44c3e983e2 : Si $a n'est pas égal à $b, retournez TRUE
6) $a != $b n'est pas égal à : Si $a n'est pas égal à $b, retournez TRUE (comme ci-dessus)
7 ) $a == $b Égal à : Si $a est égal à $b, renvoie VRAI
8) $a === $ b sont tous égaux : si $a est égal à $b, et leurs types sont également pareil, alors retournez TRUE
9) $a !== $b n'est pas tous égaux : si $a n'est pas égal à $b, ou si leurs types sont différents, alors retournez TRUE

Parmi eux, nous devons nous concentrer sur la distinction entre "égal à" et "égal à". $a == $b compare uniquement les valeurs des deux variables, et l'opérateur est égal aux expressions des deux côtés. comparaison de valeurs et comparaison de types de données 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 puis comparée. 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 < Les classes intégrées peuvent définir leurs propres comparaisons.Différentes classes ne peuvent pas être comparées. Comparaisons entre les attributs de la même classe
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 l'objet et tout autre type : l'objet est toujours plus grand

1 Pour le tableau


$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);
Résultat :


ps : Un tableau avec moins de membres est plus petit
boolean false 
boolean false 
boolean true


ps : Comparez les valeurs une par une
$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 : Si 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 false est renvoyé.
$a=array(1,2,3,6,&#39;b&#39;=>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

Code de comparaison de 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
}
2 Comparaison entre bool ou null et d'autres types


var_dump((bool)(null));//. boolean false//null est faux lorsqu'il est converti en bool ;

null et les autres types
sont convertis
en bool, puis comparés, et FALSE < > L'opérateur opération ternaire dans l'opérateur de comparaison :

expression (expr1) ? (expr2) : (expr3) Lorsque la valeur de l'expression expr1 est VRAIE, la valeur est expr2 L'expression. expr1 est évalué à FALSE lorsqu'il est évalué à expr3.

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