Cette syntaxe alternative est obsolète depuis PHP 4. Elle génère
un code qui est tout simplement illisible, et il est très difficile
de la combiner avec la syntaxe normale. Bien que cela ne soit pas
à l'ordre du jour aujourd'hui, cette syntaxe risque de disrparaitre
à terme. Soyez prévenus.
Le PHP propose une autre manière de rassembler des
instructions à l'intérieur d'un bloc, pour les
fonctions de contrôle if,
while, for,
foreach et switch.
Dans chaque cas, le principe
est de remplacer l'accolade d'ouverture par deux points (:)
et l'accolade de fermeture par, respectivement,
endif;, endwhile;,
endfor;, ou endswitch;.
<?php if ($a == 5): ?>
A vaut 5
<?php endif; ?>
Dans l'exemple ci-desssus, le block HTML "A = 5" est inclus
à l'intérieur d'un if en
utilisant cette nouvelle syntaxe. Ce code HTML ne sera
affiché que si la variable $a est égale à 5.
Cette autre syntaxe fonctionne aussi avec le else et
elseif. L'exemple suivant montre une structure avec un
if, un elsif et un
else utilisant cette autre syntaxe:
<?php
if ($a == 5):
print "a égale 5";
print "...";
elseif ($a == 6):
print "a égale 6";
print "!!!";
else:
print "a ne vaut ni 5 ni 6";
endif;
?>
Allez voir while,
for, et
if pour d'autres exemples.