Синтаксис конструкции 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.
Часто возникает потребность исполнения операторов не только в теле конструкции 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 можно опускать.