Génération PHP.net » Les structures de contrôles

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
}
?>
Explications sur la boucle for()
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)
?>