Menu
Coddy logo textTech

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.

challenge icon

Défi

Facile

Lisez 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, affichez Stop
  • Si la commande est yellow, affichez Slow down
  • Si la commande est green, affichez Go
  • Si la commande est flashing red ou flashing yellow, affichez Proceed with caution
  • Pour toute autre valeur, affichez Invalid signal

Exemple :

Si l’entrée est green, la sortie doit être :

Go

Si l’entrée est flashing red, la sortie doit être :

Proceed with caution

Si l’entrée est blue, la sortie doit être :

Invalid signal

Essayez 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


?>
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Compilateur PHP en ligne