Operadores lógicos, parte 1
Parte de la sección Fundamentos del Journey de PHP de Coddy. Lección 25 de 71.
Los operadores lógicos te permiten combinar varias expresiones booleanas en una sola. Esto es esencial cuando necesitas comprobar varias condiciones a la vez.
El operador AND (&&) devuelve true solo cuando ambas condiciones son verdaderas:
<?php
$age = 25;
$hasLicense = true;
$canDrive = $age >= 18 && $hasLicense;
var_dump($canDrive); // bool(true)
$age = 16;
$canDrive = $age >= 18 && $hasLicense;
var_dump($canDrive); // bool(false) - age condition fails
?>El operador OR (||) devuelve true cuando al menos una condición es verdadera:
<?php
$isWeekend = true;
$isHoliday = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(true) - weekend is true
$isWeekend = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(false) - both are false
?>Piensa en && como «ambos deben ser verdaderos» y en || como «al menos uno debe ser verdadero». En la siguiente lección, aprenderás sobre el operador NOT y cómo combinar varios operadores lógicos.
Desafío
FácilLee cuatro valores de la entrada: un entero age, una cadena hasTicket (ya sea "true" o "false"), una cadena isMember (ya sea "true" o "false") y una cadena hasInvitation (ya sea "true" o "false").
Convierte los valores de cadena en booleanos comparándolos con "true".
Evalúa las siguientes dos condiciones e imprime el resultado de cada una usando var_dump(), cada una en una línea nueva:
- Comprueba si la persona puede entrar al evento: debe tener al menos 18 años Y tener una entrada
- Comprueba si la persona obtiene entrada gratuita: debe ser miembro O tener una invitación
Ejemplo:
Si las entradas son 25, true, false y true, la salida debería ser:
bool(true)
bool(true)Explicación:
- 25 >= 18 Y hasTicket es true → true
- isMember es false O hasInvitation es true → true
Pruébalo tú mismo
<?php
// Lee los valores de entrada
$age = intval(fgets(STDIN));
$hasTicket = trim(fgets(STDIN));
$isMember = trim(fgets(STDIN));
$hasInvitation = trim(fgets(STDIN));
// TODO: Convierte los valores de cadena a booleanos comparándolos con "true"
// TODO: Comprueba si la persona puede entrar al evento (al menos 18 AND tiene ticket)
// TODO: Comprueba si la persona obtiene entrada gratis (es miembro OR tiene invitación)
// Muestra los resultados usando var_dump()
?>Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparaciónIgualdad e identidadOperadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simple2Variables y tipos de datos
NúmerosCadenas y comillasBooleanosConvenciones de nombresRepaso: inicialización de variablesVariables vacíasConcatenación de cadenasObtener datos del usuarioConvertir a otros tipos5Lógica condicional
Sentencia ifIf - ElseEl operador ternarioOperador de coalescencia nulaSentencia switchRepaso - Tomar decisiones3Operadores básicos
Operadores aritméticosOperador móduloOperador de exponenciaciónAsignación combinadaIncremento/DecrementoPrecedencia de operadoresRepaso: cálculos simplesOperadores de cadenasPractica por tu cuenta: Compilador de PHP online