Menu
Coddy logo textTech

Logical Operators Part 1

Часть раздела Основы путешествия по PHP на Coddy — урок 25 из 71.

Логические операторы позволяют объединить несколько булевых выражений в одно. Это необходимо, когда нужно проверить несколько условий одновременно.

Оператор AND (&&) возвращает true только когда оба условия истинны:

<?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
?>

Оператор ИЛИ (||) возвращает true, когда хотя бы одно условие истинно:

<?php
$isWeekend = true;
$isHoliday = false;

$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(true) - выходной истинен

$isWeekend = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(false) - оба ложны
?>

Думайте о && как о «оба должны быть истинными» и || как о «хотя бы один должен быть истинным». В следующем уроке вы узнаете об операторе NOT и о том, как комбинировать несколько логических операторов.

challenge icon

Задание

Легко

Прочитайте четыре значения из ввода: целое число age, строку hasTicket (либо "true", либо "false"), строку isMember (либо "true", либо "false") и строку hasInvitation (либо "true", либо "false").

Преобразуйте строковые значения в булевы, сравнивая их с "true".

Вычислите следующие два условия и выведите результат каждого с помощью var_dump(), каждое на новой строке:

  1. Проверьте, может ли человек войти на мероприятие: ему должно быть не менее 18 лет и иметь билет
  2. Проверьте, получает ли человек бесплатный вход: он должен быть членом или иметь приглашение

Пример:

Если входные данные 25, true, false и true, вывод должен быть:

bool(true)
bool(true)

Пояснение:

  • 25 >= 18 и hasTicket истинно → true
  • isMember ложно или hasInvitation истинно → true

Шпаргалка

Оператор AND (&&) возвращает true только когда оба условия истинны:

<?php
$age = 25;
$hasLicense = true;

$canDrive = $age >= 18 && $hasLicense;
var_dump($canDrive); // bool(true)
?>

Оператор OR (||) возвращает true, когда хотя бы одно условие истинно:

<?php
$isWeekend = true;
$isHoliday = false;

$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(true)
?>

Попробуйте сами

<?php
// Читаем входные значения
$age = intval(fgets(STDIN));
$hasTicket = trim(fgets(STDIN));
$isMember = trim(fgets(STDIN));
$hasInvitation = trim(fgets(STDIN));

// TODO: Преобразовать строковые значения в булевы, сравнив их с "true"


// TODO: Проверить, может ли человек попасть на мероприятие (не менее 18 И есть билет)


// TODO: Проверить, получает ли человек бесплатный вход (является членом ИЛИ есть приглашение)


// Вывести результаты с помощью var_dump()

?>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы