Home » PHP » Operadores de comparación en PHP

Operadores de comparación en PHP

Tal como su nombre lo indica, son los operadores que utilizaremos para realizar comparaciones de expresiones. Los operadores de comparación confrontan normalmente dos expresiones (en su forma más sencilla, una expresión es una variable) y la expresión de comparación da como resultado verdadero o falso. Ahora supondremos una comparación entre $var1 y $var2.
 
Los operadores de comparación son los siguientes:
  • Igualdad (==): Verdadero si $var1 y $var2 son iguales
  • Identidad (===): Verdadero si $var1 y $var2 son iguales y del mismo tipo de dato
  • Desigualdad (!=): Verdadero si $var1 y $var2 son distintos
  • Menor que (<): Verdadero si $var1 es menor que $var2
  • Mayor que (>): Verdadero si $var1 es mayor que $var2
  • Menor o igual (<=): Verdadero si $var1 es menor o igual que $var2
  • Mayor o igual (>=): Verdadero si $var1 es mayor o igual que $var2
  • Ternario (?:): (exp1) ? (exp2) : (exp3); Si exp1 es TRUE la expresión se evalúa como exp2, en caso contrario, se evalúa como exp3. Desde la versión PHP 5.3 se puede omitir exp2, en ese caso, la expresión se evalúa exp1 si exp1 es TRUE y se evalúa exp3 si exp1 es FALSE (exp1 ?: exp3). 
La mayor parte de los operandos de comparación se explican por sí solos. Veamos unos ejemplos con los operadores de identidad y ternario que quizá resulten una novedad para algunos programadores. 
 
<?php
// Operadores de comparación (ejemplo file011.php)

$var1 = 12; 
$var2 = "12 gatos";
// Aquí PHP considera una comparación numérica
echo $var1 ==  $var2; // resultado Verdadero
echo $var1 !=  $var2; // resultado Falso
echo $var1 === $var2; // resultado Falso

$var1 = "12";  
$var2 = "12 gatos";
// Aquí PHP considera una comparación de cadenas
echo $var1 ==  $var2; // resultado Falso
echo $var1 !=  $var2; // resultado Verdadero
echo $var1 === $var2; // resultado Falso

// Ternario (esta evaluación da TRUE)
($var1 != $var2) ? ($var1 = "ES CIERTO") : ($var1 = "ES FALSO");
echo $var1;           // resultado ES CIERTO

?>
Se debe tener cuidado de no confundir el operador de asignación (=) con el operador de comparación (==). Esto puede provocar errores al usar sentencias como if ($a = $b) en donde no se está comparando $a con $b sino que se está asignando $b a $a, que normalmente no es lo que se pretende en una sentencia if.
 
izq sup der

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.