webmaster
Le langage PHP
Les Structures Conditionnelles Et Iteratives en PHP- Les conditions en PHP
Une structure conditionnelle permet d'exécuter ou non une série d'instructions en fonction d'une condition d'origine. Si le calcul de cette condition retourne TRUE alors le bloc d'instructions concerné est exécuté.
Les expressions évaluées peuvent être plus ou moins complexes, c'est-à-dire qu'elles peuvent être constituées d'une combinaison d'opérateurs de comparaison, d'opérateurs logiques et même de fonctions. Le langage PHP introduit 4 constructions conditionnelles: if, elseif, else et switch.
Avant de les voir, il est nécessaire que l'on aborde les opérateurs de comparaison et les opérateurs logiques.
1.1. Les opérateurs de comparaison
Les opérateurs de comparaison sont utilisés pour comparer deux valeurs. Elles permettent souvent de définir des conditions dans les structures conditionnelles.
- Egal : $a == $b retourne true si la valeur de $a est égale à celle de $b
- Différent : $a != $b retourne true si la valeur de $a est différente de celle de $b
$a <> $b retourne true aussi si la valeur de $a est différente de celle de $b
- Inférieure : $a < $b retourne true aussi si la valeur de $a est strictement inférieure à celle de $b
- Inférieure ou égal : $a < = $b retourne true aussi si la valeur de $a est inférieure ou égale à celle de $b
- Supérieure : $a > $b retourne true aussi si la valeur de $a est strictement supérieure à celle de $b
- Supérieure ou égal : $a >= $b retourne true aussi si la valeur de $a est supérieure ou égale à celle de $b Les opérateurs logiques
En PHP, il y a différents opérateurs logiques qui permettent de combiner des conditions entre elles.
- La structure conditionnelle if, else
Cette structure permet de n'exécuter qu'un bloc d'instructions uniquement si l'expression est vraie. Le mot clé if() signifie en anglais 'si'. Autrement dit, si la condition est vérifiée, on exécute l'instruction. Dans le cas contraire, l'instruction sera simplement ignorée ou une autre instruction alternative sera exécutée.
Par conséquent, un if peut être employé seul. Le else étant l'alternative, on peut s'en passer pour n'exécuter un code que si une condition est réalisée.
Syntaxe:
On met la ou les conditions entre parenthèses, et le bloc d'instructions entre deux accolades.
Code PHP :
La clause else (traduite par sinon), ajoutée après l'accolade fermante du bloc if(), permet de définir une série d'instructions qui seront exécutées si l'expression if testée est fausse (c'est-à-dire si elle renvoie FALSE).
syntaxe :
Code PHP:
On peut imbriquer les if les uns dans les autres. Simplement lorsqu'un if imbriqué aura fini d'être exécuté, il retournera à l'étape logique suivante du rang hiérarchique supérieur.
code PHP:
- la structure conditionnelle Switch
Il existe une autre alternative à la structure if() / elseif() / else ou bien aux imbrications de blocs if(). Elle se nomme switch() (traduit par 'au cas où').
Sa syntaxe est assez simple et repose sur l'utilisation de 3 mots clés : switch, case et default.
Cette instruction conditionnelle permet de tester toutes les valeurs possibles que peut prendre une variable.
Exemple d'utilisation de l'instruction switch en PHP
Dans cet exemple:
- $legume est la variable à tester.
- Les différents 'case' testent la valeur, et exécutent le code contenu entre le 'case' en question et le 'break'.
- L'instruction contenue dans la clause default est l'instruction à exécuter par défaut lorsque la variable $legume ne prend aucune des valeurs définies dans les différents 'case'.
- les structures itératives ou boucles
Les boucles sont des structures de contrôle permettant d'effectuer un certain nombre de fois les mêmes opérations. Concrètement, il s'agit d'une répétition d'instructions.
Par exemple afficher une suite de nombres que l'on incrémentera à chaque tour de boucle en fonction d'une ou plusieurs conditions à vérifier.
4.1. Les opérateurs d'incrémentation et de décrémentation
Incrémenter une valeur signifie qu'on augmente la valeur d'un certain ordre. Pour dire que la valeur d'une variable $i a augmenté d'un point, on écrit :
Cette instruction peut être écrite d'une manière plus simple en utilisant une instruction équivalente :
ou tout simplement :
A l'inverse, décrémenter une valeur veut dire qu'on diminue la valeur de $i d'un certain nombre de points. La syntaxe est la même que celle de l'incrémentation, sauf qu'à la place du signe + (plus) on met un signe – (moins).
Il est tout à fait possible de faire : $i += 2; pour dire que la valeur de $i augmentera de deux points.
4.2. Boucle while en PHP
C'est le moyen le plus simple pour faire une boucle. On traduit la boucle while par 'tant que'. Tant que la/les conditions est/sont vérifiée/s, on traite les instructions situées dans la boucle. La particularité de cette instruction est que la condition est testée à chaque début de boucle.
Syntaxe:
Dans cet exemple, on affichera tous les nombres pairs qui sont inférieurs à 20.
Exemple :
L'essentiel à retenir est que la boucle while() signifie que l'on va répéter un bloc d'instructions tant que la condition passée en paramètre reste vraie (TRUE). Lorsque celle-ci deviendra fausse (FALSE), le programme sortira de la boucle.
Il est donc impératif que le bloc d'instructions, d'une manière ou d'une autre, agisse sur le paramètre. Dans l'exemple précédent, si l'on ne met pas la ligne $i += 2, alors la boucle ne s'arrêtera pas !
4.3. Boucle for en PHP
La boucle for() se traduit par 'pour chaque itération'. Il faut connaître par avance la condition d'arrêt. Autrement dit, la valeur qui rendra la condition fausse et stoppera la boucle. Sa syntaxe est simple et prend 3 paramètres obligatoires:
Syntaxe :
L'initialisation est l'expression qui permet d'initialiser la boucle (valeur de départ). Généralement, les boucles débutent à la valeur 0, mais ce n'est pas une généralité. Le second paramètre correspond à la condition d'arrêt de la boucle.
Cette condition est recalculée à chaque itération (passage de boucle) afin de déterminer si l'on continue de boucler ou bien si l'on sort de la boucle. Enfin, le dernier paramètre détermine l'expression qui sera exécutée à la fin d'une itération. Généralement on prévoit ici une incrémentation (ou décrémentation) pour mettre à jour le compteur de la boucle.
code PHP :
4.4. La boucle do-while en PHP
L'instruction do{ ... } while() traduite par: 'faire ... tant que' est une alternative à l'instruction while().
Elle permet de tester la condition après la première itération et exécution du premier bloc d'instructions. Dans le cas de la boucle while, la condition est examinée avant la boucle tandis que pour la boucle do-while elle est examinée à la fin. Ainsi, même si cette condition n'est pas vérifiée, la boucle s'exécutera au moins une fois.
Syntaxe de do while :
code PHP :
Remarques: Il existe deux instructions qui permettent de modifier l'exécution des boucles, il s'agit de break et de continue.
- L'instruction break permet de sortir de la boucle courante. C'est-à-dire qu'il interrompe directement l'itération. La condition de boucle est une condition qui est toujours vérifiée et, dans la boucle, on utilise break pour quitter celle-ci une fois que l'on est arrivé à nos fins. 'break' permet aussi de gérer des événements plus exceptionnels, comme des erreurs: en cas d'erreur, on quitte la boucle et on affiche un message.
- l'instruction continue permet de sauter les instructions de l'itération courante, afin de passer directement à l'itération suivante.
Reprenons l'exemple sur les nombres pairs. Cette fois-ci, la variable $i sera incrémentée de 1. On utilisera l'instruction continue pour éviter les nombres impairs.