(PHP 4, PHP 5, PHP 7, PHP 8)
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
la llave de apertura por dos puntos (:) y la llave 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" está anidado 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
. La 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 lo siguinte 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 ?>