Problème avec switch en php
Fermé
playboy-1990
Messages postés
458
Date d'inscription
samedi 27 mars 2010
Statut
Membre
Dernière intervention
10 septembre 2016
-
Modifié par playboy-1990 le 11/02/2011 à 22:56
A.Nonymous - 12 févr. 2011 à 02:59
A.Nonymous - 12 févr. 2011 à 02:59
A voir également:
- Problème avec switch en php
- Easy php - Télécharger - Divers Web & Internet
- Logiciel switch - Télécharger - Conversion & Extraction
- Samsung switch pc - Télécharger - Divers Bureautique
- Switch qwerty azerty - Guide
- Zelda 3 switch - Accueil - Guide jeu vidéo
3 réponses
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
11 févr. 2011 à 18:44
11 févr. 2011 à 18:44
Salut.
Le switch sert à comparer la valeur de ce que tu mets entre parenthèse.
Pour plusieurs conditions, il faut faire plusieurs structure conditionnelles.
Donc plusieurs switch ou plusieurs if/else.
Le switch sert à comparer la valeur de ce que tu mets entre parenthèse.
Pour plusieurs conditions, il faut faire plusieurs structure conditionnelles.
Donc plusieurs switch ou plusieurs if/else.
switch(file_exists('fichier1')) { case true: echo 'Ok'; break; case false: echo 'Erreur'; break; } if(file_exists('fichier2')) { echo 'Ok'; } else { echo 'Erreur'; }
switch(true)
Un tel "switch" s'arrêtera au 1er case dont la valeur équivaudrait "true" ( pas obligatoirement de même type ), où, si présent, exécuterait "default" si aucun "case" vrai
Ainsi :
case false:
case '':
case null:
// Pas exécuté
break;
case 1:
case 'A.nonymous':
// Exécuté
Un tel "switch" s'arrêtera au 1er case dont la valeur équivaudrait "true" ( pas obligatoirement de même type ), où, si présent, exécuterait "default" si aucun "case" vrai
Ainsi :
case false:
case '':
case null:
// Pas exécuté
break;
case 1:
case 'A.nonymous':
// Exécuté
playboy-1990
Messages postés
458
Date d'inscription
samedi 27 mars 2010
Statut
Membre
Dernière intervention
10 septembre 2016
273
11 févr. 2011 à 22:53
11 févr. 2011 à 22:53
Merci beaucoup pour vos aides
J'avais pu comprendre que le switch pouvais remplacer les conditions if, else
mais comme je vois il n'est pas toujours possible de faire la même chose avec switch
J'avais pu comprendre que le switch pouvais remplacer les conditions if, else
mais comme je vois il n'est pas toujours possible de faire la même chose avec switch
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
11 févr. 2011 à 23:18
11 févr. 2011 à 23:18
Le switch est à utiliser lorsque tu compares plusieurs fois une même variable (ou une fonction) avec différente valeur. Par exemple :
Devient :
if($var == 'Valeur 1') { } elseif ($var == 'Valeur 2') { } else { // Default du switch }
Devient :
switch($var) { case 'Valeur 1': // ... break; case 'Valeur 2': //.... break; default: // ... break; }
La cas "switch(true)" est un usage particulier qui peut sans mal remplacer une structure if/elseif/else complexe.
L'usage du switch décrit par avion-f16 est effectivement l'usage conventionnel.
Le côté pratique du switch(true) comparé à une structure en "elseif" est qu'il est plus rapide de créer un nouveau cas, mais c'est un point de vue personnel ;)
L'usage d'un switch(true) dans le cas suivant ne serait cependant pas pertinent, même si possible :
switch(true)
{
case $var == 'Valeur 1':
// ...
break;
case $var == 'Valeur 2':
// ...
break;
default:
}
L'usage du switch décrit par avion-f16 est effectivement l'usage conventionnel.
Le côté pratique du switch(true) comparé à une structure en "elseif" est qu'il est plus rapide de créer un nouveau cas, mais c'est un point de vue personnel ;)
L'usage d'un switch(true) dans le cas suivant ne serait cependant pas pertinent, même si possible :
switch(true)
{
case $var == 'Valeur 1':
// ...
break;
case $var == 'Valeur 2':
// ...
break;
default:
}