if, elseif и else
Принимайте решения в PHP с помощью условных ветвлений.
«if, elseif и else» — бесплатный урок PHP Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 4 уроков всего.
Условная логика в PHP
Условные операторы позволяют программе принимать решения. В PHP для ветвления используются if, elseif и else.
Условие внутри if () вычисляется как логическое значение — истинное значение приводит к выполнению блока, а ложное позволяет его пропустить.
Базовый оператор if
Самый простой условный оператор — выполнить код только тогда, когда условие истинно:
<?php
$age = 20;
if ($age >= 18) {
echo 'Adult';
}
// Output: Adultif / else
Добавьте ветку else для случая, когда условие ложно:
<?php
$score = 45;
if ($score >= 50) {
echo 'Pass';
} else {
echo 'Fail'; // runs
}Цепочки elseif
Последовательно проверяйте несколько условий с помощью elseif:
<?php
$grade = 78;
if ($grade >= 90) {
echo 'A';
} elseif ($grade >= 80) {
echo 'B';
} elseif ($grade >= 70) {
echo 'C'; // runs
} else {
echo 'F';
}Операторы сравнения
Операторы, используемые в условиях:
==равно (нестрогое сравнение)===идентично (строгое сравнение)!=не равно<>меньше/больше<=>=меньше/больше или равно
Отдавайте предпочтение ===, чтобы избежать неожиданностей из-за неявного приведения типов.
Логические операторы
Объединяйте условия с помощью логических операторов:
<?php
$age = 25;
$member = true;
if ($age >= 18 && $member) {
echo 'Access granted'; // both true
}
if ($age < 18 || $member) {
echo 'Also granted'; // one is true
}
if (!$member) {
echo 'Not a member';
}Тернарный оператор
Тернарный оператор — это компактная запись простого if/else в одну строку:
<?php
$age = 20;
$status = ($age >= 18) ? 'adult' : 'minor';
echo $status; // adult
// Null coalescing operator ?? (PHP 7+)
$name = $_GET['name'] ?? 'Guest';
echo $name; // 'Guest' if name not in URLПрисваивание при NULL
В PHP 7.4 появился оператор ??=, который присваивает значение по умолчанию, только если переменная имеет значение NULL или не задана:
<?php
$config = [];
$config['debug'] ??= false;
$config['timeout'] ??= 30;
var_dump($config);
// ['debug' => false, 'timeout' => 30]Альтернативный синтаксис if
PHP поддерживает альтернативный синтаксис с двоеточием для использования внутри HTML-шаблонов:
<?php $loggedIn = true; ?>
<?php if ($loggedIn): ?>
<p>Welcome back!</p>
<?php else: ?>
<p>Please log in.</p>
<?php endif; ?>Оператор космического корабля
Оператор космического корабля <=> сравнивает два значения и возвращает -1, 0 или 1 — идеально подходит для сортировки:
<?php
echo 1 <=> 2; // -1 (left is less)
echo 2 <=> 2; // 0 (equal)
echo 3 <=> 2; // 1 (left is greater)
$nums = [3, 1, 4, 1, 5];
usort($nums, fn($a, $b) => $a <=> $b);
print_r($nums); // [1, 1, 3, 4, 5]match и if
match в PHP 8 — более строгая альтернатива длинным цепочкам if/elseif. Вы изучите его на следующем уроке. Ключевое отличие от if: match использует строгое сравнение и не выполняет неявное приведение типов.
Быстрая проверка
Что делает оператор ???
Повторение: if/elseif/else
Основные моменты:
- Используйте
if,elseif,elseдля ветвления логики - Отдавайте предпочтение
===, а не==, чтобы избежать неявного приведения типов - Тернарный оператор
?:— для компактных ветвей с одним выражением ??— для задания значений по умолчанию при NULL- Альтернативный синтаксис с двоеточием — для HTML-шаблонов
Далее: операторы switch и match.
Часто задаваемые вопросы
Урок «if, elseif и else» бесплатный?
Да — полный текст урока «if, elseif и else» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 4 уроков всего.
Чему я научусь в уроке «if, elseif и else»?
Принимайте решения в PHP с помощью условных ветвлений. Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать PHP Academy?
Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «if, elseif и else»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке PHP Academy?
Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.