Перейти к основному содержимому

Условные инструкции в PHP

Программам постоянно приходится принимать решения: если пользователь вошёл в систему, показать одно, а если нет, показать другое. С помощью условных инструкций вы указываете PHP, какое действие выбрать.

PHP предлагает такие варианты:

  • инструкция if - выполняет фрагмент кода, только когда условие истинно
  • инструкция if...else - выполняет один фрагмент кода, когда условие истинно, и другой, когда оно ложно
  • инструкция if...elseif...else - выбирает между разными фрагментами кода, когда условий больше двух
  • инструкция switch - выбирает для выполнения один блок из многих

Инструкция if

Самое простое решение — это if: когда его условие истинно, выполняется код внутри фигурных скобок, а иначе PHP его пропускает.

Инструкция if

Поскольку 5 больше 3, условие истинно и сообщение выводится:

Prompt
Напишите PHP-скрипт, который проверяет, больше ли 5, чем 3, и выводит сообщение, если условие истинно.
Вывод: PHP-скрипт

Синтаксис

Инструкция if записывается так:

index.php
<?php
if (condition) {
  // code to be executed if condition is true;
}
?>

Отступы

Для PHP отступы в коде внутри блока if необязательны. Всё равно делайте их: это считается хорошей практикой и намного упрощает чтение структуры.

Пример с отступами

Строка с echo ниже записана с отступом, чтобы показать, что она относится к блоку if:

Prompt
Напишите PHP-скрипт, который использует инструкцию if с правильными отступами, чтобы проверить, является ли число положительным, и выводит сообщение.
Вывод: PHP-скрипт

Несколько условий

Один if может проверять сразу несколько условий. Соединяйте их операторами && или || и добавляйте столько, сколько нужно:

Оператор And

Здесь должны пройти обе проверки: $a должно быть больше $b и одновременно меньше $c:

Prompt
Напишите PHP-скрипт, который с помощью оператора && проверяет, больше ли переменная одного значения и меньше ли другого, а затем выводит сообщение.
Вывод: PHP-скрипт

Оператор Or

С OR достаточно одной пройденной проверки. Здесь $a должно было бы равняться 2 или 3, но оно равно 5, поэтому выполняется блок else:

Prompt
Напишите PHP-скрипт, который с помощью оператора || проверяет, равна ли переменная одному значению или другому, а затем выводит сообщение.
Вывод: PHP-скрипт