🐘 PHP

PHP中的比较运算符与逻辑运算符

Что это и зачем?

Представь, что ты играешь в компьютерную игру. Тебе нужно проверить: хватает ли у тебя здоровья, чтобы сразиться с боссом? Или есть ли у тебя ключ, чтобы открыть дверь? В программировании такие проверки делаются с помощью операторов сравнения и логических операторов.

Операторы сравнения — это как вопросы: "больше?", "меньше?", "равно?". Они всегда дают ответ "да" (true) или "нет" (false). Логические операторы — это как "и", "или", "не". Они помогают соединять несколько вопросов в один. Например: "У тебя есть ключ И ты знаешь пароль?" — только если оба условия верны, дверь откроется.

В PHP эти операторы используются постоянно: чтобы проверять возраст пользователя, сравнивать числа, проверять, вошёл ли человек на сайт. Без них программы были бы как роботы, которые не умеют принимать решения.

Синтаксис и примеры кода

Давай посмотрим на основные операторы сравнения в PHP:

  • == — равно (проверяет значение, не обращая внимания на тип)
  • === — тождественно равно (проверяет и значение, и тип)
  • != — не равно
  • <> — тоже не равно (редко используется)
  • > — больше
  • < — меньше
  • >= — больше или равно
  • <= — меньше или равно

А это логические операторы:

  • && или and — логическое "И" (оба условия должны быть true)
  • || или or — логическое "ИЛИ" (хотя бы одно условие true)
  • ! — логическое "НЕ" (меняет true на false и наоборот)
<?php
// Пример 1: Сравнение чисел
$age = 12;
if ($age >= 18) {
    echo "Ты взрослый!";
} else {
    echo "Ты ещё ребёнок.";
}
// Выведет: "Ты ещё ребёнок." потому что 12 меньше 18
?>
<?php
// Пример 2: Разница между == и ===
$number = 5;      // целое число
$text = "5";      // строка

if ($number == $text) {
    echo "Равны по значению"; // Это выполнится, потому что PHP считает 5 и "5" равными
}

if ($number === $text) {
    echo "Равны и по типу"; // Это НЕ выполнится, потому что число и строка — разные типы
}
?>
<?php
// Пример 3: Логическое "И" (&&)
$hasKey = true;
$knowsPassword = false;

if ($hasKey && $knowsPassword) {
    echo "Дверь открыта!";
} else {
    echo "Доступ запрещён."; // Выполнится это, потому что одно условие ложно
}
?>
<?php
// Пример 4: Логическое "ИЛИ" (||)
$isAdmin = false;
$isModerator = true;

if ($isAdmin || $isModerator) {
    echo "У тебя есть доступ к панели управления."; // Выполнится, потому что модератор true
}
?>
<?php
// Пример 5: Логическое "НЕ" (!)
$isBanned = false;

if (!$isBanned) {
    echo "Ты не забанен, можешь играть!"; // Выполнится, потому что !false = true
}
?>

Сравнение с Python

Если ты уже знаешь Python или будешь учить его позже, вот как те же операторы выглядят там:

  • В Python == и != работают так же, как в PHP.
  • В Python нет ===, потому что он строже относится к типам. Если сравниваешь число и строку, Python просто скажет False.
  • Логические операторы в Python пишутся словами: and, or, not (в PHP тоже можно, но чаще используют &&, ||, !).
  • В Python True и False пишутся с большой буквы, а в PHP — true и false с маленькой.

Пример на Python:

age = 12
if age >= 18:
    print("Ты взрослый!")
else:
    print("Ты ещё ребёнок.")
# Выведет: "Ты ещё ребёнок."

Как видишь, логика та же, но синтаксис немного отличается. В PHP больше символов, но они короче.

Типичные ошибки новичков

Вот что чаще всего путают начинающие:

  1. Путают = и ==. Один знак = это присваивание (положить значение в переменную), а два == это сравнение. Ошибка: if ($age = 18) — это не проверка, а присваивание! Всегда будет true.
  2. Забывают про ===. Когда сравниваешь число 0 и строку "0", == скажет, что они равны. А === — нет. Используй ===, если хочешь быть уверенным.
  3. Путают && и ||. Запомни: "И" (&&) требует, чтобы всё было правдой. "ИЛИ" (||) — достаточно одной правды.
  4. Не ставят скобки. В сложных условиях всегда ставь скобки, чтобы PHP понял, что ты имеешь в виду. Например: if (($a > 5) && ($b < 10)) — так понятнее.
  5. Думают, что true — это 1. В PHP true может быть 1, но не наоборот. Лучше всегда использовать true/false.

Итог

Операторы сравнения и логические операторы — это основа любого программирования. Они позволяют твоей программе "думать" и принимать решения. В PHP они простые и интуитивные:

  • Сравнивай числа и строки с помощью ==, !=, >, <.
  • Проверяй типы с помощью ===.
  • Соединяй условия с помощью && (и), || (или), ! (не).

Попробуй написать свою программу: спроси у пользователя его возраст и скажи, может ли он смотреть фильм (например, с 12 лет). Используй операторы сравнения и логические операторы. Удачи!