If в PHP: как правильно написать условие

Короткий ответ: 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. Для соседних задач пригодятся эти разборы:

Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x