Estruturas de Controle
PHP Manual

Sintaxe Alternativa para estruturas de controle

(PHP 4, PHP 5, PHP 7)

O PHP oferece uma sintaxe alternativa para algumas estruturas de controle; a saber, if, while, for, foreach, e switch. Em cada caso, basicamente a sintaxe alternativa é trocar a chave de abertura por dois pontos (:) e a chave de fechamento por endif;, endwhile;, endfor;, endforeach;, ou endswitch;, respectivamente.

<?php if ($a == 5): ?>
A é igual a 5
<?php endif; ?>

No exemplo acima, o bloco HTML "A é igual a 5" está dentro de um if escrito na sintaxe alternativa. O bloco HTML será exibido somente se $a for igual a 5.

A sintaxe alternativa também se aplica ao else e elseif. A seguir um exemplo de um if com elseif e else no formato alternativo:

<?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;
?>

Nota:

Misturar a sintaxe na mesma bloco de controle não é suportado.

Aviso

Qualquer saída (inclusive espaços em branco) entre um switch e o primeiro case irá resultar em um erro de sintaxe. O exemplo abaixo é inválido:

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

Enquanto que este é válido, já que a quebra de linha depois do switch é considerado parte da tag de fechamento ?> e, portanto, nenhuma saída será enviada entre o switch e case:

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

Veja mais sobre while, for, e if para outros exemplos.


Estruturas de Controle
PHP Manual