Le switch te permet de tester plusieurs valeurs possibles d'une même variable de façon claire et organisée, sans enchaîner de nombreux if…elseif.
switch.if…elseif.switch ($variable) {
case valeur1:
// instructions si $variable == valeur1
break;
case valeur2:
// instructions si $variable == valeur2
break;
// …
default:
// instructions si aucune valeur ne correspond
}
$variable : l’expression à tester.case valeurX: : chaque branche testée avec l’opérateur ==.break; : termine la branche pour éviter d’exécuter les suivantes.default: : optionnel, s’exécute si aucun case n’est vrai.Imaginons un script qui affiche une page selon le rôle d’un utilisateur.
<?php
$role = "éditeur"; // valeur récupérée dynamiquement
switch ($role) {
case "administrateur":
echo "Bienvenue, administrateur !";
break;
case "éditeur":
echo "Bienvenue, éditeur : vous pouvez modifier le contenu.";
break;
case "abonné":
echo "Bienvenue, abonné : accès en lecture seule.";
break;
default:
echo "Rôle inconnu : accès limité.";
}
?>
Explications :
case.case s’exécutent.break empêche la « chute » vers les cases suivantes.default gère les rôles non prévus.break dans chaque case sauf si tu veux volontairement enchaîner plusieurs cas.default pour traiter les valeurs inattendues.switch plutôt que plusieurs if…elseif quand tu testes une seule variable sur plusieurs valeurs.case simple : évite d’y mettre trop de logique ; préfère appeler une fonction si nécessaire.case pour faciliter la relecture.Ce qu’il faut retenir
switch teste une variable contre plusieurs valeurs.case se termine par break.default gère les cas non prévus.