(PHP 4, PHP 5, PHP 7, PHP 8)
  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;, endforeach;, ou
  endswitch;.
  
<?php if ($a == 5): ?>
A égal 5
<?php endif; ?>
  Dans l'exemple ci-dessus, le bloc HTML "A égal 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 elseif et un
  else utilisant cette autre syntaxe :
  
<?php
if ($a == 5):
    echo "a égale 5";
    echo "...";
elseif ($a == 6):
    echo "a égale 6";
    echo "!!!";
else:
    echo "a ne vaut ni 5 ni 6";
endif;
?>
Note:
Vous ne pouvez pas utiliser différentes syntaxes dans le même bloc de contrôle.
   Tout affichage (y compris d'espaces) entre une structure
   switch et le premier case
   va produire une erreur de syntaxe. Par exemple, ceci n'est pas valide :
  
<?php switch ($foo): ?>
    <?php case 1: ?>
    ...
<?php endswitch ?>
   Alors que ceci est valide, vu que la dernière nouvelle ligne après
   la structure switch est considérée comme faisant
   partie de la balise de fin ?> et donc,
   rien n'est affiché entre switch et case :
  
<?php switch ($foo): ?>
<?php case 1: ?>
    ...
<?php endswitch ?>