Logical Operators Part 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 both 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) - falla la condición de edad
?>El operador OR (||) devuelve true cuando at least one condition es verdadera:
<?php
$isWeekend = true;
$isHoliday = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(true) - el fin de semana es verdadero
$isWeekend = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(false) - ambos son falsos
?>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, un string hasTicket (ya sea "true" o "false"), un string isMember (ya sea "true" o "false"), y un string hasInvitation (ya sea "true" o "false").
Convierte los valores string a 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 nueva línea:
- Check si la person can enter al event: debe tener al menos 18 años Y tener un ticket
- Check si la person gets entrada gratuita: debe ser un member O tener una invitation
Ejemplo:
Si los valores de entrada son 25, true, false y true, el resultado 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
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString OperatorsPractica por tu cuenta: Compilador de PHP online