Instruction switch
Fait partie de la section Fondamentaux du Journey PHP de Coddy. Leçon 32 sur 71.
Lorsque vous devez comparer une seule variable à de nombreuses valeurs spécifiques, l’instruction switch offre une alternative plus claire aux longues chaînes if-elseif.
L’instruction switch vérifie une variable une seule fois, puis la compare à différentes valeurs case :
<?php
$day = "Monday";
switch ($day) {
case "Monday":
echo "Start of the week";
break;
case "Friday":
echo "Almost weekend";
break;
case "Saturday":
case "Sunday":
echo "Weekend!";
break;
default:
echo "Regular day";
}
?>PHP compare $day à chaque case. Lorsqu’il trouve une correspondance, il exécute le code de ce bloc.
L’instruction break est essentielle. Elle indique à PHP de quitter le switch après l’exécution du cas correspondant. Sans elle, PHP continuerait à exécuter tout le code qui suit, même celui des autres cas.
Remarquez comment samedi et dimanche partagent le même code en regroupant les cas. Le cas default agit comme un else. Il s’exécute lorsqu’aucun autre cas ne correspond.
<?php
$grade = "B";
switch ($grade) {
case "A":
echo "Excellent!";
break;
case "B":
echo "Good job!";
break;
default:
echo "Keep trying!";
}
?>Utilisez switch lorsque vous comparez une variable à plusieurs valeurs exactes. Pour les conditions complexes ou les plages, utilisez plutôt des instructions if-elseif.
Défi
FacileLisez une chaîne command depuis l’entrée représentant la couleur d’un feu de circulation.
Utilisez une instruction switch pour déterminer l’action appropriée en fonction de la couleur :
- Si la commande est
red, affichezStop - Si la commande est
yellow, affichezSlow down - Si la commande est
green, affichezGo - Si la commande est
flashing redouflashing yellow, affichezProceed with caution - Pour toute autre valeur, affichez
Invalid signal
Exemple :
Si l’entrée est green, la sortie doit être :
GoSi l’entrée est flashing red, la sortie doit être :
Proceed with cautionSi l’entrée est blue, la sortie doit être :
Invalid signalEssayez vous-même
<?php
// Lire l'entrée
$command = trim(fgets(STDIN));
// TODO: Écrivez votre code ci-dessous en utilisant une instruction switch
// Déterminer l'action appropriée en fonction de la couleur du feu de circulation
?>Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs de comparaison et logiques
Opérateurs de comparaisonÉgalité et identitéOpérateurs logiques — Partie 1Opérateurs logiques — Partie 2Récapitulatif — Logique simple2Variables et types de données
NombresChaînes et guillemetsBooléensConventions de nommageRécapitulatif - initialisation des variablesVariables videsConcaténation de chaînesObtenir une saisie utilisateurConvertir vers différents types5Logique conditionnelle
Instruction ifIf - ElseOpérateur ternaireOpérateur de coalescence nulleInstruction switchRécapitulatif - Prendre des décisions3Opérateurs de base
Opérateurs arithmétiquesOpérateur moduloOpérateur d’exponentiationAffectation combinéeIncrémentation/DécrémentationPriorité des opérateursRécapitulatif - Calculs simplesOpérateurs sur les chaînesEntraînez-vous par vous-même : Compilateur PHP en ligne