Les structures de contrôles
On appelle structures conditonnelles, les instructions qui permettent de tester si une condition est vraie ou non.
if()
Cette structure vérifie si une condition est remplie.
- La ou les conditions doivent être entre parenthèses ( )
- Les accolades
{ }ne sont pas obligatoires s’il n’y a qu’une instruction. - Vous pouvez définir plusieurs conditions à l’aide des opérateurs:
And && Or || Xor.
Syntaxe
<?php if (condition) { // Instructions à exécuter } if (condition1 AND condition2) { // Instructions à exécuter } ?>
Exemple
<?php $i = 0; if ($i==0) { echo 'La variable i vaut 0'; } ?>
else
Cette structure vérifie si une condition est rencontrée et exécute une série d’instructions si jamais la condition n’est pas rencontrée.
Syntaxe
<?php if (condition) { // Instructions à exécuter si les conditions sont réalisées } else { // Instructions à exécuter si les conditions NE sont PAS réalisées } ?>
Exemple
<?php $i = 0; if ($i==0) { echo 'La variable i vaut 0'; } else { echo 'La variable i ne vaut pas 0'; } ?>
elseif
Cette structure permet une condition alternative si jamais la condition précédente n’est pas rencontrée.
Syntaxe
<?php if (condition1) { // Instructions à exécuter si les conditions sont réalisées } // Condition altervative elseif (condition2) { // Intructions à exécuter si la condition alternative est réalisée } ?>
Exemple
<?php $i = 0; if ($i==0) { echo 'La variable i vaut 0'; } elseif ( $i==1) { echo 'La variable i vaut 1'; } else { echo 'La variable i est inconnue'; } ?>
Opérateur ternaire
L’opérateur ternaire vous permet de créer une condition courte et simple. Elle vérifie une condition et réalise une des deux commandes dépendamment si la condition est vraie ou non.
Syntaxe
retour (condition) ? CommandeVrai : CommandeFaux;
Si condition est vrai, alors CommandeVrai est retourné à retour sinon CommandeFaux est retourné.
Exemples
<?php $variable = 'PHP'; // Affichera : "PHP est utilisé" echo ($variable=='PHP') ? 'PHP est utilisé' : 'PHP n\'est pas utilisé'; ?>
switch()
L’instruction switch() permet de faire plusieurs tests de valeurs sur le contenu d’une même variable. Elle permet de simplifier les structures conditionnelles.
Syntaxe
<?php switch (variable) { case 'valeur1': // Instruction si variable vaut 'valeur1' break; case 'valeur2': // Instruction si variable vaut 'valeur2' break; case 'valeurN': // Instruction si variable vaut 'valeurN' break; default: // Instruction par défaut break; } ?>
Les parenthèses qui suivent switch indiquent une variable dont la valeur sera testée sucessivement. Si la variable est égale à une des valeurs, la liste d’instructions du case est exécutée. break indique la fin de la structure conditionnelle. default indique que la liste d’instructions suivante sera exécutée si la variable ne trouve pas valeur dans la vérification précédente.
Exemple
<?php $utilisation = 'PHP'; switch ($utilisation) { case 'HTML': echo 'Vous utilisez HTML'; break; case 'JavaScript': echo 'Vous utilisez JavaScript'; break; case 'PHP': echo 'Vous utilisez PHP'; break; default: echo 'Vous n'utilisez ni HTML, ni JavaScript, ni PHP'; break; } ?>
Une structure récursive est une fonction qui permet d’exécuter plusieurs fois les mêmes commandes.
La boucle for()
for() permet d’exécuter plusieurs fois une série d’instructions.
Syntaxe
<?php for (compteur; condition; incrementation) { // Instructions à exécuter } ?>
| Instruction | Explication |
|---|---|
| Instruction | Explication |
| compteur | Précise la variable qui servira de compteur ainsi que sa valeur initiale. |
| condition | Condition pour arrêter la boucle. (Puisqu’il faut bien l’arrêter un jour) |
| incrementation | Changement au compteur à chaque passage de la boucle. Habituellement compteur++ ou compteur--. |
Exemple
<?php for ($i=1; $i<=4; $i++) { echo $i . '<br />'; } ?>
La boucle foreach()
foreach() permet d’exécuter une série d’instructions pour chacun des éléments d’un tableau.
Prenez note que la boucle réinitialise la position du pointeur interne du tableau mais n’affecte pas le tableau en lui-même. Il travaille en fait sur une copie de celui-ci.
Toute modification faite aux valeurs récupérées ne se répercuteront pas sur le tableau en question.
Syntaxes
<?php foreach (tableau as valeur) commandes foreach (tableau as clef => valeur) commandes ?>
La première syntaxe parcours tous les éléments du tableau et assigne à la variable valeur la valeur de l’élément en cours.
La deuxième syntaxe parcours tous les éléments du tableau et assigne, en plus, à la variable clef l’index de l’élément en cours.
Exemple
<?php $tableau = array( 'Nom' => 'Xenon_54', 'Ville' => 'Inconnue' ) foreach ($tableau as $clef => $valeur) { echo $clef . ' : ' . $valeur . '<br />'; } ?>
La boucle while()
while() permet d’exécuter une série d’instructions tant et aussi longtemps qu’une condition est réalisée.
Prenez garde pour ne pas créer de boucle infinie!
Syntaxe
<?php while (condition) { // Instructions à exécuter } ?>
Exemple
<?php $i = 1; while ($i<=4) { echo $i . '<br />'; $i++; // IMPORTANT } ?>
La boucle do..while()
do..while() permet d’exécuter une série d’instructions tant et aussi longtemps qu’une condition est réalisée.
Prenez note que la boucle est exécuter au moins une fois puisque la vérification de condition se fait à la fin!
Syntaxe
<?php do { // Instructions à exécuter } while (condition) ?>
Exemple
<?php $i = 1; do { echo $i . '<br />'; $i++; // IMPORTANT } while ($i<=4) ?>