Условные операторы
Условные операторы являются, пожалуй, наиболее распространенными конструкциями во всех алгоритмических языках программирования. Рассмотрим основные условные операторы языка PHP.
Конструкция if
Синтаксис конструкции if аналогичен конструкции if в языке C:
<?php
if (логическое выражение)
оператор;
?>
Согласно выражениям PHP, конструкция if содержит логическое выражение. Если логическое выражение истинно (true), то оператор, следующий за конструкцией if будет исполнен, а если логическое выражение ложно (false), то следующий за if оператор исполнен не будет. Приведем примеры:
<?php
if ($a > $b) echo "значение a больше, чем b";
?>
В следующем примере если переменная $a не равна нулю, будет выведена строка "значение a истинно (true):
<?php
if ($a) echo "значение a истинно (true) ";
?>
В следующем примере если переменная $a равна нулю, будет выведена строка "значение a ложно (false):
<?php
if (!$a) echo "значение a ложно (false) ";
?>
Часто вам будет необходим блок операторов, который будет выполняться при определенном условном критерии, тогда эти операторы необходимо поместить в фигурные скобки {...} Пример:
<?php
if ($a > $b) {
echo "a больше b";
$b = $a;
}
?>
Приведенный пример выведет сообщение, "a больше b", если $a > $b, а затем переменная $a будет приравнена к переменной $b. Заметим, что данные операторы выполняются в теле конструкции if.
Конструкция else
Часто возникает потребность исполнения операторов не только в теле конструкции if, если выполнено какое-либо условие конструкции if, но и в случае, если условие конструкции if не выполнено. В данной ситуации нельзя обойтись без конструкции else. В целом, такая конструкция будет называться конструкцией if-else.
Синтаксис конструкции if-else такой:
if (логическое_выражение)
инструкция_1;
else
инструкция_2;
Действие конструкции if-else следующее: если логическое_выражение истинно, то выполняется
инструкция_1, а иначе — инструкция_2. Как и в любом другом языке, конструкция else может опускаться, в этом случае при получении должного значения просто ничего не делается.
Если инструкция_1 или инструкция_2 должны состоять из нескольких команд, то
они, как всегда, заключаются в фигурные скобки. Например:
<?php
if ($a > $b) {
echo "a больше, чем b";
} else {
echo "a НЕ больше, чем b";
}
?>
Конструкция if-else имеет еще один альтернативный синтаксис:
if (логическое_выражение):
команды;
elseif(другое_логическое_выражение):
другие_команды;
else:
иначе_команды;
endif
Обратите внимание на расположение двоеточия (:)! Если его пропустить, будет сгенерировано сообщение об ошибке. И еще: как обычно, блоки elseif и else можно опускать.
Конструкция elseif
elseif - это комбинация конструкций if и else. Эта конструкция расширяет условную конструкцию if-else.
Приведем синтаксис конструкции elseif:
if (логическое_выражение_1)
оператор_1;
elseif (логическое_выражение_2)
оператор_2;
else
оператор_3;
Практический пример использования конструкции elseif:
<?php
if ($a > $b) {
echo "a больше, чем b";
} elseif ($a == $b) {
echo "a равен b";
} else {
echo "a меньше, чем b";
}
?>
Вообще, конструкция elseif не очень удобна, поэтому применяется не так часто.