Faire le quiz close

Les structures de contrôle en PHP 8

#1 La structure if open

La structure de contrôle if est une structure qui permet d'exécuter du code selon l'évaluation d'une condition. On appelle cela une structure conditionnelle.

Ci-dessous l'instruction echo "Bonjour" sera exécutée si la variable condition est évaluée à true sinon elle ne sera pas exécutée.

Vous pouvez ajouter un else et une instruction qui sera exécutée si la condition est évaluée à false.

Bien sûr, vous pouvez avoir besoin de programmer plusieurs instructions. Dans ce cas, il faut les regrouper dans un bloc en utilisant des accolades.

Maintenant, on va voir qu'il est possible de travailler avec plusieurs conditions.

Ci-dessous, l'instruction echo "Bienvenue\n" est exécutée, car condition1 est false et condition2 est true. Si les deux conditions sont false, alors ce sont les instructions du else qui sont exécutées.

#2 La structure switch open

Ci-dessous, la structure switch permet d'évaluer la valeur de $val et d'aller exécuter le code qui correspond à cette valeur.

  • Si $val vaut 1 alors, vous exécutez le echo "Je suis dans le 1". Attention, après avoir exécuté ce echo, il faut mettre un break si vous ne voulez pas exécuter le default.
  • Si $val vaut une autre valeur que le 1 alors, vous exécutez le default.

Ci-dessous, je complète l'exemple pour mieux décrire le role du break. Lorsque $val vaut 2 alors le echo "Je suis dans le 2\n"; est exécuté puis le echo "Je suis dans le 3\n"; est exécuté à son tour. Pour $val égal à 1 ou 3, le echo est exécuté puis le break provoque la sortie du switch. De même, le passage dans default provoque la sortie naturelle du switch.

#3 Boucle while et do while open

Dans l'exemple ci-dessous, je vais boucler tant que la condition ($a < 5) est true, c'est-à-dire que je vais boucler 5 fois pour les valeurs de $a allant de 0 à 4 incluses.

Il arrive que l'on ait besoin de faire un premier tour de boucle avant de tester une condition. Dans l'exemple ci-dessous, on fera toujours un passage dans la boucle quelle que soit la valeur tirée au sort.

#4 La boucle for open

Dans l'exemple ci-dessous, je parcours la boucle 5 fois, pour des valeurs de $i allant de 0 à 4.

C'est la variable $i qui gère l'exécution de la boucle :

  • L'instruction $i = 0 est exécutée une seule fois, au premier tour de boucle.
  • Ensuite, la condition $i < 5 est évaluée. Cette condition est évaluée avant chaque tour de boucle. Si la condition est true, le tour de boucle est exécuté. Si la condition est false, la boucle est terminée.
  • $i++ est exécuté à la fin de chaque tour de boucle.

A remarquer que $i existe en dehors de la boucle.

Si vous voulez, vous pouvez sauter un ou bien plusieurs tours de boucle en plaçant une instruction continue.

Si vous voulez, vous pouvez provoquer la sortie de la boucle, avant que la condition $i < 5 devienne false. Pour cela, vous pouvez utiliser une condition suivie de l'instruction break. Ci-dessous, pour $i égal à 2 le break sera exécuté et la boucle prendra fin.

#5 L'expression match open

La version 8 est dotée d'une nouvelle structure de contrôle. Dans la documentation, cette structure est appelée l'expression match. En fait, ce match fonctionne plutôt comme un opérateur.

Ci-dessous, vous avez un match qui va évaluer l'expression rand(0,1).

  • Si l'expression vaut 0, alors c'est la chaîne "C'est Pile" qui est retournée.
  • Si l'expression vaut 1, alors c'est la chaîne "C'est Face" qui est retournée.

Ici, il n'y a que deux possibilités. Le 0 et le 1. Mais il pourrait y en avoir plus que ça.