Конструкция if else - PHP
В этом уроке вы узнаете о конструкции if...else
в PHP, которая выполняет блок кода, когда условие истинно, и другой блок кода, когда условие ложно.
Введение
Конструкция if
позволяет выполнить одну или несколько инструкций, когда выражение истинно:
<?php
if ( выражение ) {
// блок кода
}
Иногда вы хотите выполнить другой блок кода, если выражение ложно. Для этого добавьте к конструкции if
блок else
:
<?php
if ( выражение ) {
// блок кода
} else {
// другой блок кода
}
В данном синтаксисе, если выражение истинно, PHP выполняет блок кода, следующий за конструкцией if
. Если выражение ложно, PHP выполняет блок кода, следующий за ключевым словом else
.
Следующая блок-схема иллюстрирует, как работает оператор if-else
в PHP:
В следующем примере конструкция if...else
используется для отображения сообщения на основе значения переменной $is_authenticated
:
<?php
$is_authenticated = false;
if ( $is_authenticated ) {
echo 'Добро пожаловать!';
} else {
echo 'Вы не авторизованы для просмотра этой страницы.'
}
В данном примере переменная $is_authenticated
равна false
. Следовательно, скрипт выполняет блок кода, следующий за оператором else
. И вы увидите следующий вывод:
Вы не авторизованы для просмотра этой страницы.
Встраивание конструкции if...else в HTML
Как и в случае с конструкцией if
, вы можете легко вставлять конструкцию if...else
в HTML, используя альтернативный синтаксис:
<?php if ( выражение ): ?>
<!-- Показать HTML-код, когда выражение истинно -->
<?php else: ?>
<!-- Показать HTML-код, когда выражение ложно -->
<?php endif ?>
Обратите внимание, что после ключевого слова endif
не требуется ставить точку с запятой (;
), потому что endif
- это последнее выражение в блоке PHP. Закрывающий тег ?>
автоматически подразумевает наличие точки с запятой.
В следующем примере используется конструкция if...else
для отображения ссылки на выход, если $is_authenticated
равно true
. Если $is_authenticated
равно false
, скрипт вместо этого отображает ссылку на вход:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Демонстрация конструкции if в PHP</title>
</head>
<body>
<?php $is_authenticated = true; ?>
<?php if ($is_authenticated) : ?>
<a href="#">Выйти</a>
<?php else: ?>
<a href="#">Войти</a>
<?php endif ?>
</body>
</html>
Подытожим
- Используйте конструкцию
if...else
в PHP для выполнения блока кода, когда условие истинно.
if elseif
в PHP, которая позволяет выполнять блоки кода в зависимости от нескольких логических выражений.