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