Operadores Relacionales en PHP: Igualdad, Diferencia y Más

Clase 18 de 23Curso Básico de PHP: Instalación, Fundamentos y Operadores

Resumen

Los operadores relacionales son aquellos que ayudan a comparar dos valores.

Operadores relacionales en PHP

En PHP disponemos de estos operadores:

NombreDescripciónOperadorEjemploResultado
IgualCompara si 2 variables son iguales en cuanto a sus valores más NO respecto a sus tipos de datos.==$a == $btrue si $a es igual a $b
IdénticoCompara si 2 variables son iguales respecto a sus valores y tipos de datos.===$a === $btrue si $a es igual a $b, y son del mismo tipo.
Diferente #1Compara si 2 variables NO son iguales en cuanto a sus valores más NO respecto a sus tipos de datos.!=$a != $btrue si $a no es igual a $b
Diferente #2Compara si 2 variables NO son iguales en cuanto a sus valores más NO respecto a sus tipos de datos.<>$a <> $btrue si $a no es igual a $b
No idénticoCompara si 2 variables NO son iguales en cuanto a sus valores o tipos de datos.!==$a !== $btrue si $a no es igual a $b, o si no son del mismo tipo.
Menor queEvalúa si un número es menor que otro.<$a < $b true si $a es estrictamente menor que $b.
Mayor queEvalúa si un número es mayor que otro.>$a > $b true si $a es estrictamente mayor que $b.
Menor o igual queEvalúa si un número es menor o igual que otro.<=$a <= $b true si $a es menor o igual que $b.
Mayor o igual queEvalúa si un número es mayor o igual que otro.>=$a >= $btrue si $a es mayor o igual que $b.

Operadores especiales

PHP posee un par de operadores que en la mayoría de lenguajes, si es que en ninguno, no los encuentras y están disponibles a partir de la versión 7. Estas tienen el nombre de Nave espacial y Fusión de null.

Nave espacial (<=>)

Está representado por el siguiente símbolo: <=>. Evalúa si un número es menor que, igual a o mayor que otro, dando como resultados -1, 0 o 1 respectivamente:

<?php # Variables $a = 10; $b = 5; echo $a <=> $b; echo "\n"; #---------------------------------- /* Mensaje en consola/navegador: 1 */

La forma en que <=> evalúa es la siguiente:

  • Si $a es menor que $b entonces devolverá -1.
  • Si $a es igual a $b entonces devolverá 0.
  • Si $a es mayor que $b entonces devolverá 1.

Fusión de null (??)

Está representado por el siguiente símbolo: ??. La primera variable que SÍ esté definida y no sea null, de izquierda a derecha, es la que será utilizada. Veamos un ejemplo para entender mejor este tipo de operador:

<?php # Variables: $a = null; $b = 40; $c = 18; echo $z ?? $a ?? $b ?? $c; echo "\n"; #---------------------------------- /* Mensaje en consola/navegador: 40 */

Observamos que $b y $c Sí están definidas y no son null, pero como $b está antes que $c, tomando el orden de izquierda a derecha, esta es la que será impresa en pantalla. Por ello el resultado es 40.

Contribución creada por: Martín Álvarez