En PHP, los operadores lógicos se utilizan para combinar sentencias condicionales. Estos operadores le permiten crear condiciones más complejas mediante la combinación de varias condiciones.
Los operadores lógicos se utilizan generalmente en sentencias condicionales como los bucles if, while y for para controlar el flujo de ejecución del programa en función de condiciones específicas.
En la siguiente tabla se destacan los operadores lógicos soportados por PHP.
Supongamos que la variable $a contiene 10 y la variable $b contiene 20, entonces −
Operador | Descripción | Ejemplo |
---|---|---|
and | Operador lógico AND llamado. Si ambos operandos son verdaderos, la condición se convierte en verdadera. | (A y B) es verdadero |
or | Llamado operador lógico OR. Si alguno de los dos operandos es distinto de cero, la condición se convierte en verdadera. | (A o B) es verdadero |
&& | Operador lógico AND llamado. El operador AND devuelve true si los operandos izquierdo y derecho son verdaderos. | (A y B) es verdadero |
|| | Llamado operador lógico OR. Si alguno de los dos operandos es distinto de cero, la condición se convierte en verdadera. | (A || B) es verdadera |
! | Llamado operador lógico NOT. Se usa para invertir el estado lógico de su operando. Si una condición es verdadera, el operador lógico NOT hará que sea falsa. | ! (A y B) es falso |
Ejemplo
El siguiente ejemplo muestra cómo puede usar estos operadores lógicos en PHP:
<?php
$a = 42;
$b = 0;
if ($a && $b) {
echo "TEST1 : Both a and b are true \n";
} else {
echo "TEST1 : Either a or b is false \n";
}
if ($a and $b) {
echo "TEST2 : Both a and b are true \n";
} else {
echo "TEST2 : Either a or b is false \n";
}
if ($a || $b) {
echo "TEST3 : Either a or b is true \n";
} else {
echo "TEST3 : Both a and b are false \n";
}
if ($a or $b) {
echo "TEST4 : Either a or b is true \n";
} else {
echo "TEST4 : Both a and b are false \n";
}
$a = 10;
$b = 20;
if ($a) {
echo "TEST5 : a is true \n";
} else {
echo "TEST5 : a is false \n";
}
if ($b) {
echo "TEST6 : b is true \n";
} else {
echo "TEST6 : b is false \n";
}
if (!$a) {
echo "TEST7 : a is true \n";
} else {
echo "TEST7 : a is false \n";
}
if (!$b) {
echo "TEST8 : b is true \n";
} else {
echo "TEST8 : b is false";
}
?>
Producirá el siguiente resultado:
TEST1 : Either a or b is false
TEST2 : Either a or b is false
TEST3 : Either a or b is true
TEST4 : Either a or b is true
TEST5 : a is true
TEST6 : b is true
TEST7 : a is false
TEST8 : b is false