Expresiones en PHP: Operadores relacionales

Los operadores relacionales comparan 2 operandos y devuelve un booleano que puede ser TRUE o FALSE. Hay 3 tipos de operadores relacionales: igualdad, comparación y lógicos. Todos estos nos permiten en condicionales obtener el comportamiento deseado de un programa o página web.

Operadores de igualdad

En otros tutoriales ya lo habrás visto, el operador de igualdad es == . No hay que confundirlo con el =, este es de asignación.

El operador relacional al poder devolver TRUE o FALSE permite probar condiciones con una declaración if.

PHP al ser un lenguaje bastante flexible en cuanto al tipo de variables si los 2 operandos a comparar tienen operandos diferentes, PHP los convertirá en cualquier tipo que se ajuste mejor.

Un ejemplo sería un string compuesto solo de números. Este string si se compara con un número el string se convierte en número para poder compararlo.

EL primero imprimirá “es igual” por tanto es TRUE. Esto se debe a que los 2 string se convierten en número. El “+120” a número es 120 ya que es positivo.

El 2º ya no muestra nada debido a un operador de identidad (3 símbolos de igualdad). Esto impide que PHP convierta los tipos de las variables. Por tanto, los 2 strings y no se parecen.

Se puede comparar 2 operandos cuando se quiere probar si NO son iguales usando !=, el operador de desilgudad .

Sucede la inversa del caso anterior. El primer caso no devolverá nada ya que los 2 operandos son iguales y con el != se busca lo contrario. El segundo caso al ser los 2 string y no ser iguales imprimirá el mensaje.

Operadores de comparación

Estos operadores ofrecen mas que una igualdad o desigualdad. Permiten comparar si un operando es mayor o menor respecto a otro.

Solo se imprimirán los mensajes de la 2º y 4º declaración. Puedes jugar con los valores de $a y $b para ir probando diferentes resultados.

Operadores lógicos

Producen resultados true o false por tanto, también son conocidos como operadores booleanos.

Operador Descripción
AND Si los operandos son TRUE devuelve TRUE.
OR Si cualquier operando es TRUE devuelve TRUE.
XOR Si SOLO uno de los 2 operandos es TRUE devuelve TRUE, si los 2 son TRUE devuelve FALSE.
NOT Si el operando es FALSE devuelve TRUE, si el operando es TRUE devuelve FALSE.

A continuación muestro un ejemplo

Aquellos resultados que muestren 1 es TRUE y aquellos que no muestren nada son NULL por tanto es FALSE. El 4º al tener ! índica un NOT y es como si transformará el 1 en 0 dando FALSE.

Hay que tener en cuenta que el AND y OR tienen menor precedencia que sus equivalentes && y ||. Otra cosa a considerar es que el operador OR en una declaración if devuelve TRUE si el primer operando es TRUE y no comprueba el segundo.

Aquí dejo una tabla con las posibilidades de los operadores anteriores.

Operando y valor Operador y resultados
a b AND OR XOR
TRUE TRUE TRUE TRUE FALSE
TRUE FALSE FALSE TRUE TRUE
FALSE TRUE FALSE TRUE TRUE
FALSE FALSE FALSE FALSE FALSE
TRUE TRUE TRUE TRUE TRUE
TRUE TRUE TRUE TRUE TRUE

Y hasta aquí otra parte de las expresiones en PHP. Espero que os sirva de ayuda. A seguir picando 🙂