Время чтения ~ 20 сек. / 36 просмотров / 0 комментариев / Январь 13, 2024, 18:42

В этом уроке вы узнаете о конструкции if elseif в PHP, которая позволяет выполнять блоки кода в зависимости от нескольких логических выражений.

Введение

Конструкция if оценивает выражение и выполняет блок кода, если выражение истинно:

<?php

if (выражение) {
    инструкция;
}

Конструкция if может содержать один или несколько необязательных блоков elseif. Конструкция elseif представляет собой комбинацию операторов if и else:

<?php

if (выражение1) {
    инструкция;
} elseif (выражение2) {
    инструкция;
} elseif (выражение3) {
    инструкция;
}

PHP оценивает выражение1 и выполняет блок кода в конструкции if, если выражение1 истинно.

Если выражение1 ложно, PHP оценивает выражение2 в следующем блоке elseif. Если результат истинен, PHP выполняет инструкцию в этом блоке elseif. В противном случае PHP оценивает выражение3.

Если выражение3 истинно, PHP выполняет блок, следующий за блоком elseif. В противном случае PHP его игнорирует.

Обратите внимание, что при наличии у конструкции if нескольких блоков elseif, блок elseif выполнится только в том случае, если выражение в предшествующем блоке if или elseif оценивается как false.

Следующая блок-схема иллюстрирует, как работает конструкция if elseif:

if elseif php

В следующем примере используется оператор if elseif для отображения того, является ли переменная $x больше переменной $y:

<?php

$x = 10;
$y = 20;

if ($x > $y) {
    $message = 'x больше y';
} elseif ($x < $y) {
    $message = 'x меньше y';
} else {
    $message = 'x равно y';
}

echo $message;

Вывод:

x меньше y

Скрипт показывает сообщение x меньше y, как и ожидалось.

Альтернативный синтаксис if elseif в PHP

PHP также поддерживает альтернативный синтаксис elseif без использования фигурных скобок, например:

<?php
if (выражение):
    инструкция;
elseif (выражение2):
    инструкция;
elseif (выражение3):
    инструкция;
endif;

В данном синтаксисе:

  • Используйте две точки (:) после каждого условия, следующего за ключевыми словами if или elseif.
  • Используйте ключевое слово endif вместо фигурной скобки (}) в конце оператора if.

В следующем примере используется альтернативный синтаксис с elseif:

<?php

$x = 10;
$y = 20;

if ($x > $y) :
    $message = 'x больше y';
elseif ($x < $y):
    $message = 'x меньше y';
else:
    $message = 'x равно y';
endif;

echo $message;

Альтернативный синтаксис подходит для использования с HTML.

elseif и else if в PHP

PHP позволяет использовать else if (в двух словах), что имеет тот же результат, что и elseif (в одном слове):

<?php

if (выражение) {
    инструкция;
} else if (выражение2) {
    инструкция2;
}

В данном случае, else if эквивалентен следующей вложенной структуре if...else:

if (выражение) {
    инструкция;
} else {
    if (выражение2) {
        инструкция2;
    }
}

Если вы используете альтернативный синтаксис, вам нужно использовать оператор if...elseif вместо оператора if...else if. В противном случае возникнет ошибка.

Следующий пример не будет работать и вызовет ошибку:

<?php

$x = 10;
$y = 20;

if ($x > $y) :
    echo 'x больше y';
else if ($x < $y):
    echo 'x меньше y';
else:
    echo 'x равно y';
endif;

Подытожим

  • Используйте оператор if...elseif для оценки нескольких выражений и выполнения блоков кода условно.
  • Только оператор if...elseif поддерживает альтернативный синтаксис, оператор if...else if - нет.
  • Всегда используйте elseif, когда это возможно, чтобы сделать ваш код более последовательным.
Теги:
php
Конструкция if else - PHP
Тернарный оператор - PHP
Оператор НЕ (NOT) - PHP
Январь 11, 2024, 17:05
В этом уроке вы узнаете, как использовать логический оператор отрицания НЕ (NOT) (!) в PHP для создания сложных логических выражений.
Цикл for - PHP
Март 04, 2024, 17:51
В этом уроке вы узнаете об операторе for в PHP для многократного выполнения блока кода.
Типы данных - PHP
Январь 04, 2024, 15:06
В этом руководстве вы узнаете о типах данных PHP, такие как скалярные, составные и специальные типы.
Число с плавающей точкой (Float) - PHP
Январь 06, 2024, 17:24
В этом уроке вы узнаете о числах с плавающей точкой или числах с плавающей запятой в PHP.
Жонглирование типами (type juggling) - PHP
Январь 09, 2024, 11:20
В этом уроке вы узнаете о жонглировании типами (type juggling) в PHP и о том, как оно работает.