oujood.com

PHP condition Switch: Évaluer une expression avec différentes valeurs

Dans ce tutoriel, vous apprendrez à utiliser l'instruction switch-case en PHP pour tester ou évaluer une expression avec différentes valeurs.
Le switch est exactement comme si on exécute une succession d'un if et de plusieurs elseif.
La déclaration conditionnelle switch est merveilleuse et magique. Elle vous permet de choisir entre différentes options pour une valeur, et exécuter différents morceaux de code selon la valeur définie.

chercher |

Les tests conditionnels - Switch en PHP

Le switch est exactement comme si on exécute une condition if et une succession de plusieurs elseif.
L'utilisation de la condition en boucle switch à un avantage comparé à une condition if et une succession de plusieurs elesif, vu que sa structure est beaucoup moins longue et nettement plus agréable à lire.

L'instruction switch est une structure adaptée à des tests simples d'égalité sur une seule variable, chaque option possible est donnée par un case. Le resultat renvoyé lors de l'évaluation de la variable à évaluer ne renvoie pas un type booléen (comme pour if, if - else...) mais un résultat qui est comparé à d'autres valeurs.

Syntax

switch ($variable)
{
case label1:
code à exécuter si $variable=label1;
break;
case label2:
code à exécuter si $variable=label2;
break;
default:
code à exécuter si $variable est different de label1 et label2;
}


Dans le code de la syntaxe ci-dessus, switch prend le contenu de la variable $variable et le compare successivement aux différentes options données dans les case.
Ainsi switch va comparer $variable à label1 si le résultat de la comparaison est égale le code correspondant est exécuté et la boucle est arrêtée grâce à l’instruction break, si non elle passe à la case suivante c'est-à-dire label2 et ainsi de suite.


Prenons un exemple simple. Nous allons déclarer une variable qui contient une chaîne de caractères, puis nous testerons cette chaîne grâce à la condition switch.
On aura alors le code suivant :
Code PHP



Exemple :       Copier le code


<?php
$nom = "Carabde";
switch ($nom) {
case 'Jean' :
echo 'Votre nom est Jean.';
break;
case 'Dubois' :
echo 'Votre nom est Dubois.';
break;
case 'Carabde' :
echo 'Votre nom est Carabde.';
break;
default :
echo 'Je ne connais pas votre nom!';
}
?>


Dans notre cas, vu que $nom contient la chaîne de caractère Carabde, on va alors afficher à l'écran la phrase suivante :
Votre nom est Carabde. En revanche, si au lieu de carabde la variable $nom avait comme contenu la chaîne de caractère "loulou", l’affiche à l’écran de ce même code aurait du être :

Je ne connais pas votre nom!

Faites le teste pour voir.

Avec l'utilisation d'un if puis une succession de conditions elseif, le code qui va suivre aurait exactement eu le même affichage sur l'écran :
Code PHP :



Exemple :       Copier le code


<?php
$nom = "Carabde";
if ($nom == "Jean") {
echo 'Votre nom est Jean.';
}
elseif ($nom == "Dubois") {
echo 'Votre nom est Dubois.';
}
elseif ($nom == "Carabde") {
echo 'Votre nom est Carabde.';
}
else {
echo ' Je ne connais pas votre nom !';
}
?>

Attention !
Notez bien que nous devons utiliser le break dans chaque cas de notre switch., pour casser la boucle quant une condition est exécutée.
Si le break est oubliée, tous les messages s'afficheront.
Le break sert à casser la boucle dés que la condition est exécutée.
Le break n’est pas utile après default, qui représente les cas non prévus .


Par carabde 20 Aout 2014

Voir aussi nos tutoriel :

fonction strnatcasecmp, strnatcasecmp

Comparaison de chaînes avec l'algorithme d'"ordre naturel" (insensible la casse)

fonction strip_tags, strip_tags

Supprime les balises HTML et PHP d'une chaîne

bottom

Définit le bord de la marge de fond pour une boîte placée