(PHP 4, PHP 5, PHP 7)
PHP ofrece una sintaxis alternativa para algunas de sus estructuras de control; a saber: if, while, for, foreach, y switch. En cada caso, la forma básica de la sintaxis alternativa es cambiar el corchete de apertura por dos puntos (:) y el corchete de cierre por endif;, endwhile;, endfor;, endforeach;, o endswitch;, respectivamente.
<?php if ($a == 5): ?>
A es igual a 5
<?php endif; ?>
En el ejemplo anterior, el bloque HTML "A es igual a 5" se anida dentro de una sentencia if escrita en la sintaxis alternativa. El bloque HTML se mostraría solamente si $a es igual a 5.
La sintaxis alternativa también se aplica a else y elseif. El siguiente es una estructura if con elseif y else en el formato alternativo:
<?php
if ($a == 5):
echo "a igual 5";
echo "...";
elseif ($a == 6):
echo "a igual 6";
echo "!!!";
else:
echo "a no es 5 ni 6";
endif;
?>
Nota:
No se admite la mezcla de sintaxis en el mismo bloque de control.
Cualquier salida (incluyendo espacios en blanco) entre una sentencia switch y el primer case resultará en un error de sintaxis. Por ejemplo, esto no es válido:
<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch ?>
Mientras que esto es válido, ya que la nueva línea al final después de la sentencia switch es considerada como parte del ?> de cierre, no generando nada entre el switch y el case:
<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch ?>