Los operadores lógicos - Curso de PHP y MySQL - Capítulo 14
Es el momento de ver los operadores lógicos.
¿Qué son los operadores lógicos?
Los operadores lógicos nos permiten realizar una comparación entre dos valores de tipo boolean
. De esa comparación, nos devuelve otro boolean
.
El operador lógico and
El operador lógico and
(y) devuelve un valor true
si los dos valores boolean
devuelven true
. En el caso de que uno de los dos de false
, el resultado será false
.
Código PHP
$valor1 = 10;
$valor2 = 10;
$valor3 = 15;
if ($valor1 == $valor2 and $valor1 < $valor3) {
echo "Verdadero";
}
Resultado en el navegador
Nos da true
, ya que $valor1
es igual a $valor2
y tamabién, $valor1
es menor que $valor3
.
Verdadero
Si cambiamos el menor qué por un mayor qué, esta vez devolverá false
, ya que aunque se cumpla la primera comparación, si no se cumple la otra, el and
, devuelve false
.
Código PHP
$valor1 = 10;
$valor2 = 10;
$valor3 = 15;
if ($valor1 == $valor2 and $valor1 > $valor3) {
echo "Verdadero";
}
Resultado en el navegador
Podemos escribir el operador lógico and
con el doble ampersand (&&
).
Este actúa igual, solo que tienen distinto orden de precedencia, al igual que ocurre con los operadores de multiplicación y división sobre los de suma y resta, por ponerte un ejemplo. Es decir, si hay varios operadores and
y &&
, se va a dar preferencia a &&
. No entraremos aún en estos detalles.
Código PHP
$valor1 = 10;
$valor2 = 10;
$valor3 = 15;
if ($valor1 == $valor2 && $valor1 === $valor2) {
echo "Verdadero";
}
Resultado en el navegador
Verdadero
El operador lógico or
El operador lógico or
(o) y ||
, devuelven true
si se cumple al menos una de las comparaciones, aunque alguna de false
, da igual. Si todo da false
, entonces devuelve false
.
Código PHP
$valor1 = 10;
$valor2 = 10;
$valor3 = 15;
if ($valor1 < $valor2 or $valor1 < $valor3) {
echo "Verdadero";
}
Resultado en el navegador
Puesto que se cumple $valor1 < $valor3
, devuelve true
.
Verdadero
En cambio, aquí, todo da false
:
Código PHP
$valor1 = 10;
$valor2 = 10;
$valor3 = 15;
if ($valor1 != $valor2 || $valor1 == $valor3) {
echo "Verdadero";
}
Resultado en el navegador
El operador lógico not
El operador lógico !
devuelve todo lo contrario de la expresión que se le pase. Aquí tienes un ejemplo:
$valor1 = 10;
$valor2 = 12;
if (!($valor2 == $valor1)) {
echo "Verdadero";
}
Resultado en el navegador
Verdadero