switch
 (PHP 4, PHP 5, PHP 7, PHP 8)
 
  L'instruction switch équivaut à une série d'instructions
  if. En de nombreuses occasions, vous aurez besoin de
  comparer la même variable (ou expression) avec un grand nombre de valeurs
  différentes, et d'exécuter différentes parties de code suivant la valeur
  à laquelle elle est égale. C'est exactement à cela que sert l'instruction
  switch.
 
 Note: 
  
   Notez que contrairement à d'autres langages, la structure
   continue s'applique
   aux structures switch et se comporte de la même manière
   que break.
   Si vous avez un switch dans une boucle, et que vous
   souhaitez continuer jusqu'à la prochaine itération de la boucle extérieure,
   vous devez utiliser continue 2.
  
 
 Note: 
  
   Notez que switch/case provoque une
   comparaison large.
  
 
 
  Dans l'exemple suivant, chaque bloc de code est équivalent.
  L'un utilise une série d'instructions if et
  elseif, et l'autre une instruction de type
  switch. Dans chaque cas, la sortie est la même.
  
   Exemple #1 Instruction switch
   
<?php
// Ce switch:
switch ($i) {
    case 0:
        echo "i égal 0";
        break;
    case 1:
        echo "i égal 1";
        break;
    case 2:
        echo "i égal 2";
        break;
}
// Équivaut à:
if ($i == 0) {
    echo "i égal 0";
} elseif ($i == 1) {
    echo "i égal 1";
} elseif ($i == 2) {
    echo "i égal 2";
}
?>
    
   
 
 
  Il est important de comprendre que l'instruction
  switch exécute chacune des
  clauses dans l'ordre. L'instruction switch
  est exécutée ligne par ligne. Au début,
  aucun code n'est exécuté. Uniquement lorsqu'une instruction 
  case est trouvée dont 
  l'expression est évaluée à une valeur qui correspond à la valeur de 
  l'expression switch, PHP exécute alors les instructions correspondantes.
  PHP continu d'exécuter les instructions jusqu'à
  la fin du bloc d'instructions du switch,
  ou bien dès qu'il trouve l'instruction break.
  Si vous ne pouvez pas utiliser l'instruction
  break à la fin de l'instruction
  case, PHP continuera à exécuter
  toutes les instructions qui suivent. Par exemple :
  
 
 
  Dans cet exemple, si $i est égal à 0, PHP va
  exécuter quand même toutes les instructions qui
  suivent ! Si $i est égal à 1, PHP exécutera
  les deux dernières instructions. Et seulement si $i est
  égal à 2, vous obtiendrez le résultat
  escompté, c'est-à-dire, l'affichage de
  "i égal 2". Donc, l'important est de ne pas oublier
  l'instruction break (même s'il est
  possible que vous l'omettiez dans certaines circonstances).
 
 
  Dans une commande switch, une condition n'est
  évaluée qu'une fois, et le résultat est
  comparé à chaque case.
  Dans une structure elseif, les conditions sont
  évaluées à chaque comparaison. Si votre
  condition est plus compliquée qu'une simple
  comparaison, ou bien fait partie d'une boucle,
  switch sera plus rapide.
 
 
  La liste de commandes d'un case peut
  être vide, auquel cas PHP utilisera la liste de
  commandes du cas suivant.
  
 
 
  Un cas spécial est default. Ce cas est utilisé lorsque tous
  les autres cas ont échoué. Par exemple :
  
  Note: 
   
    Plusieurs cas default lèveront une erreur de niveau
    E_COMPILE_ERROR.
   
  
  Note: 
   
    Techniquement, le cas default peut être placé
    à n'importe quelle position. Il ne sera utilisé que si aucun autre cas ne correspond.
    Cependant, par convention, il est préférable de le placer à la fin.
   
  
 
 
  Si aucun case ne correspond, et qu'il n'y a pas de default, alors aucun code ne sera exécuté, tout comme si aucune instruction if n'était vraie.
 
    Une valeur de case peut être donnée sous forme d'expression. Cependant, cette expression sera
  évaluée seule, puis comparée de manière approximative à la valeur du switch. Cela signifie
  qu'elle ne peut pas être utilisée pour des évaluations complexes de la valeur du switch. Par exemple :
  
 
 
  Pour des comparaisons plus complexes, la valeur true peut être utilisée comme valeur de switch.
  Ou, alternativement, des blocs if-else au lieu de switch.
  
 
 
  La syntaxe alternative pour cette structure de contrôle est
  la suivante : (pour plus d'informations, voir
  syntaxes
  alternatives).
  
 
 
  Il est possible d'utiliser un point-virgule plutôt que deux points après
  un case, comme ceci :