Cours PHP le « switch », tutoriel & guide de travaux pratiques en pdf.
Switch
Le « switch » est équivalent à une série de if et permet de comparer avec un grand nombre de valeurs. switch ($i) { case 0: print « i egale 0 »; break; case 1: print « i egale 1 »; break; case 2: print « i egale 2 »; break; default: print « i est inférieur à 0 ou supérieur à 2 »; } Le switch s’arrête à la première expression case vraie puis exécute le code suivant dans l’ordre indiqué, jusqu’à la première instruction break. S’il n’y a pas de break, tout le code jusqu’à la fin du switch est exécuté. Dans l’exemple suivant, si $i vaut 0, tous les print seront affichés ! switch ($i) { case 0: print « i egale 0 »; case 1: print « i egale 1 »; case 2: print « i egale 2 »; } Notez aussi que le default doit intervenir en dernier, sinon il n’a aucun intérêt.
Enfin on peut employer une syntaxe alternative avec « : » et « endswitch ».
S. ROHAUT Cours Programmation PHP Page 27/93
switch ($i): case 0: print « i egale 0 »; break; case 1: print « i egale 1 »; break; endswitch 6.7 return Contrairement à d’autres langages, « return » n’est pas une fonction mais une instruction. Dans une fonction, return sert à sortir de celle-ci et à retourner une valeur. Dans un script, elle sort de celui-ci. Attention cependant dans les scripts inclus (voir require et include) : le return dans ce type de code considère qu’il sort de la fonction « require » ou « include » et donc ne sort pas du script ou de la fonction dans lesquels ce code a été inclus !
Comme return est un élément du langage et pas une fonction il y a pas besoin d’utiliser les parenthèses.
require et include (_once) « require » et « include » incluent à l’endroit actuel et exécutent le fichier PHP. Ils sont identiques dans leur fonctionnement à une exception : le traitement des erreurs. Un include produit un « warning » (le code continue en principe à s’exécuter) tandis qu’un require produit une « erreur fatale » (l’exécution s’arrête).
Comme require et include sont des éléments du langage et pas des fonctions il y a pas besoin d’utiliser les parenthèses.
« require_once » et « include_once » ressemblent à leurs homologues avec cependant une différence. Quoi qu’il arrive, le fichier est inclus une seule fois. Si un second « require_once » apparaît avec le même fichier, l’instruction ne sera pas exécutée.