(PHP 4, PHP 5, PHP 7)
PHP bietet eine alternative Syntax für einige seiner Kontrollstrukturen an,
namentlich für if, while,
for, foreach und
switch. In jedem Fall ist die Grundform der alternativen
Syntax ein Wechsel der öffnenden Klammer gegen einen Doppelpunkt (:) und der
schließenden Klammer in endif;, endwhile,
endfor;, endforeach; respektive
endswitch.
<?php if ($a == 5): ?>
A ist gleich 5
<?php endif; ?>
Im obigen Beispiel ist der HTML-Block "A ist gleich 5" in ein
if-Statement verschachtelt, das in alternativer Syntax
notiert ist. Der HTML-Block würde nur angezeigt werden, wenn
$a gleich 5 ist.
Die alternative Syntax lässt sich ebenfalls auf else und
elseif anwenden. Im Folgenden wird eine
if-Struktur mit elseif- und
else-Teilen im alternativen Format gezeigt:
<?php
if ($a == 5):
echo "a gleich 5";
echo "...";
elseif ($a == 6):
echo "a gleich 6";
echo "!!!";
else:
echo "a ist weder 5 noch 6";
endif;
?>
Hinweis:
Das Vermischen unterschiedlicher Schreibweisen im selben Kontrollblock ist nicht unterstützt.
Jegliche Ausgabe (einschließlich Whitespace) zwischen einer
switch Anweisung und dem ersten case
ist ein Syntax Fehler. Zum Beispiel ist folgendes ungültig:
<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch ?>
Hingegen ist das folgende gültig, da das abschließende Zeilenende nach der
switch Anweisung als Teil des schließenden
?> angesehen wird, und daher zwischen
switch und case nichts ausgegeben wird:
<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch ?>