PHP предлагает альтернативный синтаксис для некоторых структур управления; а именно, if, while, for, foreach, и switch

PHP предлагает альтернативный синтаксис для некоторых структур управления; а именно, if, while, for, foreach, и switch. В каждом случае основной формой альтернативного синтаксиса является замена открывающей скобки на двоеточие (:) и закрывающей скобки на endif;, endwhile;, endfor;, endforeach;или endswitch;, соответственно.

<?php if ($a == 5): ?>
A is equal to 5
<?php endif; ?>

В приведенном выше примере блок HTML «A равно 5» вложен в ifоператор, написанный с использованием альтернативного синтаксиса. Блок HTML будет отображаться, только если $a равно 5.

Альтернативный синтаксис применяется к elseи elseifтакже. Ниже представлена if​​структура с elseifи elseв альтернативном формате:

<?php
if ($a == 5):
    echo "a equals 5";
    echo "...";
elseif ($a == 6):
    echo "a equals 6";
    echo "!!!";
else:
    echo "a is neither 5 nor 6";
endif;
?>

Примечание :

Смешивание синтаксисов в одном блоке управления не поддерживается.

Предупреждение

Любой вывод (включая пробелы) между switch оператором и первым caseприведет к синтаксической ошибке. Например, это неверно:

<?php switch ($foo): ?>
    <?php case 1: ?>
    ...
<?php endswitch ?>

Принимая во внимание, что это действительно так, поскольку завершающая новая строка после switchоператора считается частью закрытия, и, следовательно, между и ?>ничего не выводится : switchcase

<?php switch ($foo): ?>
<?php case 1: ?>
    ...
<?php endswitch ?>