PHP : switch, une alternative à if
Publié le par Benjamin Crozat
Temps de lecture estimé : 3 minutes
Si vous en êtes à lire cet article au sujet des switch en PHP, c’est que vous êtes probablement familiers avec les conditions (if, elseif et else). Le switch est un moyen alternatif qui nous permet de vérifier une valeur.
Pourquoi utiliser switch plutôt qu’if en PHP ?
Il arrivera par moment que vous ayez à comparer une variable ou une expression avec un nombre important de valeurs. Dans ce cas, faire ça avec un if peut être extrêmement répétitif et moins facile à lire.
Dans l’exemple qui suit, nous avons une variable “language” égale à “Français”. En fonction de ce langage, nous affichons un remerciement dans cette même langue. Voici ce que cela donne avec un if :
$language = 'Français'; if ($language === 'English') { echo 'Thank you!';} elseif ($language === 'Español') { echo '¡Gracias!';} elseif ($language === 'Français') { echo 'Merci !';} elseif ($language === 'Italiano') { echo 'Grazie!';} else { echo '🤷♂️';}
Allons maintenant voir l’équivalent avec switch.
Quelle syntaxe pour switch en PHP ?
La syntaxe d’un switch brille par le fait qu’elle est moins répétitive qu’un if.
$language = 'Français'; switch ($language) { case 'English': echo 'Thank you!'; break; case 'Español': echo '¡Gracias!'; break; case 'Français': echo 'Merci !'; break; case 'Italiano': echo 'Grazie!'; break; default: echo '🤷♂️';}
Comment tout cela marche ?
- Chaque
case
est exécutée dans l’ordre où il a été défini. (Sauf dans le cas dedefault
, que vous pourriez mettre n’importe où dans votre switch) ; - Si la condition est remplie (dans ce cas,
$language
est égal à “Français”), alors on exécute le code qui suit. Ensuite, l’instructionbreak
arrête net le code et passe à ce qui suivra au switch.
Quand ne pas utiliser switch ?
Dans le cas où nous aurions à vérifier notre variable pour une ou deux valeurs, alors une condition if est préférable à un switch.
$language = 'Français'; if ($language === 'Français') { echo 'Merci !';} else { echo '🤷♂️';}
Continuez votre lecture et devenez un expert en PHP :
0 commentaire
Inscrivez-vous ou connectez-vous d'abord.