Formation PHP les structures de contrôle, tutoriel & guide de travaux pratiques en pdf.
Structures de contrôle
Conditionnelle « if »
Syntaxe : <?php if(<expression>) { <instructions> }
La structure conditionnelle if/else est l’une des plus classiques des langages de programmation. Elle permet d’effectuer des opérations ou d’autres opérations selon certaines conditions.
Elle s’écrit avec le mot clef « if » et un paramètre qui peut être une valeur, une variable, une comparaison, bref tout type d’instruction. Si l’instruction est évaluée à TRUE, alors on rentre dans la branche ; sinon, on rentre dans la branche du « else » (qui est facultative).
Le code à exécuter (après la condition entre parenthèses) peut être une simple instruction ou bien un bloc d’instructions délimitées par des accolades. L’une des bonnes pratiques de programmation indique la préférence systématique pour les accolades.
Exemple : <?php if(2*4 > 5) { echo ‘strictement supérieur à 5’; } else { echo ‘inférieur ou égal à 5’; }
Équivalent à (mais il est préférable d’éviter cette écriture) : <?php if(2*4 > 5) echo ‘strictement supérieur à 5’; else echo ‘inférieur ou égal à 5’;
Alternative « switch »
Syntaxe : <?php switch(<expression>) { case <valeur 1>: <instructions> break; case <valeur 2>: <instructions> break; … default: <instructions> }
. Aucune reproduction, même partielle, ne peut être faite de ce site et de l’ensemble de son contenu : textes, documents, images, etc sans l’autorisation expresse de l’auteur. Sinon vous encourez selon la loi jusqu’à 3 ans de prison et jusqu’à 300 000 E de dommages et intérêts. http://g-rossolini.developpez.com/tutoriels/php/cours/
Lorsqu’une variable ou une instruction peut prendre une valeur parmi une liste connue, alors il est préférable d’utiliser le mot clef « switch » plutôt que des « if/else ».
Exemple : <?php switch($variable) { case 1: echo ‘Choix numéro un’; break; case 2: echo ‘Choix numéro deux’; break; case 3: echo ‘Choix numéro trois’; break; default: echo ‘Choix invalide’; }
Équivalent à (mais il est préférable d’éviter cette écriture) : <?php if($variable == 1) { echo ‘Choix numéro un’; } else { if($variable == 2) { echo ‘Choix numéro deux’; } else { if($variable == 3) { echo ‘Choix numéro trois’; } else { echo ‘Choix invalide’; } } }
Le nombre de case peut varier suivant l’utilisation, cela dépend de la situation. Le mot clef « break » oblige PHP à sortir du bloc switch.
Certains langages ont des restrictions sur le case, qui ne rendent le mot clef switch utilisable qu’avec des valeurs entières. PHP étant un langage à typage faible, cette restriction ne s’applique pas et chaque case peut contenir une chaîne voire même une instruction complète.
Le mot clef break est facultatif : s’il n’est pas précisé, le case suivant est évalué à TRUE jusqu’à rencontrer la fin du switch ou bien un break. Ici par exemple, le même traitement est appliqué à « BrYs », « mathieu » et « Yogui » :
<?php switch($membre) { case ‘Marc Lussac’: echo ‘Bonjour ô grand manitou’;
. Aucune reproduction, même partielle, ne peut être faite de ce site et de l’ensemble de son contenu : textes, documents, images, etc sans l’autorisation expresse de l’auteur. Sinon vous encourez selon la loi jusqu’à 3 ans de prison et jusqu’à 300 000 E de dommages et intérêts. http://g-rossolini.developpez.com/tutoriels/php/cours/
break; case ‘BrYs’: case ‘mathieu’: case ‘Yogui’: echo ‘Bonjour ‘.$membre; break; default: echo ‘Utilisateur invalide’; }
Le mot clef default est facultatif, mais toujours le mettre fait partie des bonnes pratiques. Il est le cas par défaut, c’està-dire si aucun autre cas n’a été validé. Dans l’exemple ci-dessus, default n’est exécuté que si $membre ne vaut aucun des quatre noms mentionnés.
L’instruction switch est parfois subtile, mais souvent très intéressante. Sa maîtrise vient avec la pratique, il faut donc faire des exercices en situation réelle.
<?php $i = 4; //modifier pour tester l’effet switch($i) { case 1: echo ‘un’; break; case 2: echo ‘deux’; break; default: //valide si $i ne vaut ni 1, ni 2, ni 3 echo $i; break; case 3: echo ‘trois’; break; }
Ici, le bon sens nous souffle que le cas default est mal situé : il devrait être en dernière position car c’est le dernier recours.
Boucle « for »
Syntaxe : <?php for(<initialisation> ; <continuer tant que> ; <incrémentation>) { <instructions> }
La boucle « for » permet d’effectuer un groupe d’instructions un nombre déterminé de fois. Elle comprend trois paramètres qui sont habituellement des instructions :
Exemples : <?php //afficher tous les chiffres de 0 à 9 for($i=0; $i<10; ++$i) { echo $i;
Cours de PHP 5 par Guillaume Rossolini (Tutoriels Web / SEO / PHP) (Blog)
– 39 Copyright © 2008 – Guillaume Rossolini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l’ensemble de son contenu : textes, documents, images, etc sans l’autorisation expresse de l’auteur. Sinon vous encourez selon la loi jusqu’à 3 ans de prison et jusqu’à 300 000 E de dommages et intérêts. http://g-rossolini.developpez.com/tutoriels/php/cours/
Exemples : } //afficher toutes les lettres de l’alphabet français for($lettre=’a’; $lettre<=’z’, ++$lettre) { echo $lettre; }
Voici comment cela se passe dans le 1° exemple : 1 $i est initialisé à « 0 » ; 2 PHP vérifie si l’instruction « $i<10 » est TRUE ; 3 Si c’est TRUE on continue, sinon la boucle est terminée ; 4 PHP exécute le corps de la boucle ; 5 PHP exécute l’instruction d’incrémentation : « ++$i » ; 6 Retour au 2° point.
La boucle « for » est à utiliser exclusivement lorsque l’on connaît d’avance le nombre de tours de boucle à effectuer.
Le deuxième paramètre (aka « continuer tant que », qui vaut ici « $i<10 ») est évalué à chaque tour de boucle. Il est donc préférable que ce soit une valeur fixe afin d’économiser le temps processeur et sous peine de nous exposer à des « boucles infinies ».