Logical Operators Part 1
Parte da seção Fundamentos do Journey de PHP da Coddy — lição 25 de 71.
Operadores lógicos permitem combinar múltiplas expressões booleanas em uma só. Isso é essencial quando você precisa verificar várias condições de uma vez.
O operador AND (&&) retorna true apenas quando ambas as condições são verdadeiras:
<?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
?>O operador OR (||) retorna true quando pelo menos uma condição é verdadeira:
<?php
$isWeekend = true;
$isHoliday = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(true) - fim de semana é verdadeiro
$isWeekend = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(false) - ambos são falsos
?>Pense em && como "ambos devem ser verdadeiros" e || como "pelo menos um deve ser verdadeiro." Na próxima lição, você aprenderá sobre o operador NOT e como combinar múltiplos operadores lógicos.
Desafio
FácilLeia quatro valores da entrada: um inteiro age, uma string hasTicket (seja "true" ou "false"), uma string isMember (seja "true" ou "false"), e uma string hasInvitation (seja "true" ou "false").
Converta os valores de string para booleanos comparando-os com "true".
Avalie as seguintes duas condições e imprima o resultado de cada uma usando var_dump(), cada uma em uma nova linha:
- Verifique se a pessoa pode entrar no evento: eles devem ter pelo menos 18 anos E ter um ingresso
- Verifique se a pessoa obtém entrada gratuita: eles devem ser um membro OU ter um convite
Exemplo:
Se as entradas forem 25, true, false, e true, a saída deve ser:
bool(true)
bool(true)Explicação:
- 25 >= 18 E hasTicket é true → true
- isMember é false OU hasInvitation é true → true
Folha de consulta
O operador AND (&&) retorna true apenas quando ambas as condições são verdadeiras:
<?php
$age = 25;
$hasLicense = true;
$canDrive = $age >= 18 && $hasLicense;
var_dump($canDrive); // bool(true)
?>O operador OR (||) retorna true quando pelo menos uma condição é verdadeira:
<?php
$isWeekend = true;
$isHoliday = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(true)
?>Experimente você mesmo
<?php
// Ler valores de entrada
$age = intval(fgets(STDIN));
$hasTicket = trim(fgets(STDIN));
$isMember = trim(fgets(STDIN));
$hasInvitation = trim(fgets(STDIN));
// TODO: Converter valores de string para booleanos comparando-os com "true"
// TODO: Verificar se a pessoa pode entrar no evento (pelo menos 18 E tem ingresso)
// TODO: Verificar se a pessoa tem entrada gratuita (é membro OU tem convite)
// Exibir os resultados usando var_dump()
?>Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições 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 Operators