Structure conditionnelle Switch-case en PHP - Letecode

Switch…Case en PHP

Dernière mise à jour : 26/02/2022

Dans ce chapitre, vous apprendrez à utiliser l'instruction switch-case pour tester ou évaluer une expression avec différentes valeurs en PHP.

PHP If…Else Vs switch- Case

L'instruction switch-case est une alternative à l'instruction if-elseif-else, qui fait presque la même chose. L'instruction switch-case teste une variable par rapport à une série de valeurs jusqu'à ce qu'elle trouve une correspondance, puis exécute le bloc de code correspondant à cette correspondance.

 

switch (n){
    case 1:
        // Code à exécuter si n=1
        break;
    case 2:
        // Code à exécuter si n=2
        break;
    ...
    default :
        // Code à exécuter si n est différent de tous les cas
}

Prenons l'exemple suivant, qui affiche un message différent pour chaque jour.

 

<?php
$today = date("D");


switch($today){
    case "Mon":
        echo "Aujourd'hui c'est Lundi.";
        break;
    case "Tue":
        echo "Aujourd'hui c'est Mardi.";
        break;
    case "Wed":
        echo "Aujourd'hui c'est Mercredi.";
        break;
    case "Thu":
        echo "Aujourd'hui c'est Jeudi.";
        break;
    case "Fri":
        echo "Aujourd'hui c'est Vendredi.";
        break;
    case "Sat":
        echo "Aujourd'hui c'est Samedi.";
        break;
    case "Sun":
        echo "Aujourd'hui c'est Dimanche.";
        break;
    default:
        echo "Jour inconnu.";
        break;
}
?>

La déclaration switch-case diffère de la déclaration if-elseif-else d'une manière importante. L'instruction switch s'exécute ligne par ligne (c'est-à-dire instruction par instruction) et une fois que PHP trouve une instruction case évaluée à true, il exécute non seulement le code correspondant à cette instruction case, mais exécute également toutes les instructions case suivantes jusqu'à la fin du bloc switch automatiquement.

 

Pour éviter cela, ajoutez une instruction break à la fin de chaque bloc case. L'instruction break indique à PHP de sortir du bloc switch-case d'instructions une fois qu'il a exécuté le code associé au premier vrai cas.