Короткий ответ: if в PHP проверяет условие и выполняет блок кода, если это условие истинно. Если условие не выполняется, можно добавить else, а для нескольких вариантов — elseif
if нужен почти везде: проверить пароль, возраст, пустое поле формы, роль пользователя, наличие товара, результат запроса или ошибку
Самый простой if
<?php
$age = 20;
if ($age >= 18) {
echo 'Доступ разрешен';
}
Код внутри фигурных скобок выполнится только если $age >= 18
if и else
<?php
$age = 16;
if ($age >= 18) {
echo 'Доступ разрешен';
} else {
echo 'Доступ ограничен';
}
Если условие истинно, выполнится первый блок. Если нет — блок else
elseif для нескольких вариантов
<?php
$score = 75;
if ($score >= 90) {
echo 'Отлично';
} elseif ($score >= 60) {
echo 'Нормально';
} else {
echo 'Нужно повторить тему';
}
PHP проверяет условия сверху вниз и выполняет первый подходящий блок
Проверка формы
Частый пример для сайта
<?php
$name = trim($_POST['name'] ?? '');
if ($name === '') {
echo 'Введите имя';
} else {
echo 'Здравствуйте, ' . htmlspecialchars($name, ENT_QUOTES, 'UTF-8');
}
Здесь мы сначала получаем поле формы, потом проверяем, пустое оно или нет. Перед выводом имя экранируется через htmlspecialchars()
Строгое сравнение
В PHP есть обычное сравнение == и строгое ===
<?php
$value = '10';
if ($value == 10) {
echo 'Обычное сравнение считает значения похожими';
}
if ($value === 10) {
echo 'Этот текст не появится';
}
== может приводить типы, а === сравнивает и значение, и тип. В прикладном коде лучше чаще использовать строгое сравнение, чтобы не ловить странные ошибки
Несколько условий
<?php
$email = 'user@example.com';
$password = 'secret123';
if ($email !== '' && strlen($password) >= 8) {
echo 'Форма заполнена';
}
&& означает “и”: оба условия должны быть истинны. || означает “или”: достаточно одного истинного условия
<?php
$role = 'editor';
if ($role === 'admin' || $role === 'editor') {
echo 'Можно открыть панель управления';
}
Альтернативный синтаксис в HTML
Когда PHP смешан с HTML, часто используют такой вариант
<?php if ($isLoggedIn): ?>
<p>Вы вошли на сайт</p>
<?php else: ?>
<p>Войдите в аккаунт</p>
<?php endif; ?>
Он удобен в шаблонах, где много HTML и мало PHP-логики
Мини-практика
Создайте файл if-test.php, задайте переменную $price = 1200 и выведите Бесплатная доставка, если цена больше или равна 1000. Затем добавьте второй вариант: если цена меньше 1000, вывести Доставка 300 рублей
Частые ошибки
Ставят одно равно вместо сравнения = присваивает значение, а == или === сравнивает
Забывают фигурные скобки Для новичка лучше всегда писать скобки, даже если внутри одна строка
Путают && и || && требует выполнения всех условий, || — хотя бы одного
Сравнивают разные типы через == Если важен тип, используйте ===
Как проверить себя
После первого примера специально поменяйте $age на 17, 18 и 25. Если вывод меняется ожидаемо, значит условие написано правильно. Затем добавьте вторую переменную, например $isBlocked = false, и усложните проверку так, чтобы доступ разрешался только взрослому пользователю без блокировки. Это помогает увидеть, что if проверяет не слова в коде, а итоговое логическое выражение
Что почитать дальше по PHP
Если нужен общий маршрут по теме, откройте рубрику PHP. Для соседних задач пригодятся эти разборы:
- PHP-скрипт: что это такое и как написать первый файл
- Мигающий текст в PHP: как сделать правильно через CSS
- Composer в PHP: установка пакетов без ручного копирования
- Joomla: как убрать index.php из адреса сайта



