Switch, case et default

Syntaxe de l'instruction conditionnelle Switch

Il existe une autre alternative à la structure if() / elseif() / else ou bien aux imbrications de blocs if(). Elle se nomme switch() (traduit par 'au cas où').

Sa syntaxe est assez simple et repose sur l'utilisation de 3 mots clés : switch, case et default.

Cette instruction conditionnelle permet de tester toutes les valeurs possibles que peut prendre une variable.

Exemple d'utilisation de l'instruction switch en PHP

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
$legume = "rien";
switch($legume)
{
case 'salade':
echo'Vous avez acheté de la salade !';
break;
case 'Carotte':
echo'Vous avez acheté de la Carotte !';
break;
case 'poivrons':
echo'Vous avez acheté des poivrons!';
break;
case 'aubergines':
echo'Vous avez acheté des aubergines!';
break;
default :
echo 'Vous avez acheté un autre légume' ;
break;
}
?>
<?php $legume = "rien"; switch($legume) { case 'salade': echo'Vous avez acheté de la salade !'; break; case 'Carotte': echo'Vous avez acheté de la Carotte !'; break; case 'poivrons': echo'Vous avez acheté des poivrons!'; break; case 'aubergines': echo'Vous avez acheté des aubergines!'; break; default : echo 'Vous avez acheté un autre légume' ; break; } ?>
<?php

$legume = "rien";

switch($legume)
{
 case 'salade':
  echo'Vous avez acheté de la salade !';
  break;

 case 'Carotte':
  echo'Vous avez acheté de la Carotte !';
  break;

 case 'poivrons':
  echo'Vous avez acheté des poivrons!';
  break;

 case 'aubergines':
  echo'Vous avez acheté des aubergines!';
  break;

 default :
  echo 'Vous avez acheté un autre légume' ;
  break;
}

?>

 

Dans cet exemple, $legume est la variable à tester.

Les différents 'case' testent la valeur, et exécutent le code contenu entre le 'case' en question et le 'break'.

L'instruction contenue dans la clause default est l'instruction à exécuter par défaut lorsque la variable $legume ne prend aucune des valeurs définies dans les différents 'case'.

A propos de l'auteur

Nicolas Galle

Nicolas Galle est développeur web sénior pour l'agence SEO Aseox.