Comparaison de chaînes avec l'algorithme d'"ordre naturel" (insensible la casse)
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.
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.
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 !'; } ?>