Le problème des accolades omises dans les boucles en PHP

Bien qu'il soit possible d'omettre les accolades dans les boucles, je le déconseille fortement, car ce type de code conduit souvent à des erreurs.

Regardons un exemple. Supposons que nous ayons le code suivant :

php<?php
  for ($i = 0; $i <= 9; $i++)
    echo $i; // affichera les nombres de 0 à 9
?>

Je vais apporter une petite modification au code ci-dessus (trouvez laquelle) - et il cessera de fonctionner :

php<?php
  for ($i = 0; $i <= 9; $i++);
    echo $i; // affichera 10
?>

Alors, qu'ai-je modifié ?

Le problème est survenu parce que j'ai placé un point-virgule après la parenthèse ) de la boucle. Dans ce cas, on obtient ce qu'on appelle une boucle sans corps : elle va simplement tourner sans exécuter d'instructions, et la ligne suivante ne lui sera plus rattachée. Par conséquent, pour éviter les problèmes, je recommande toujours de mettre des accolades dans les boucles.

Задание 1

Dites quel sera le résultat de l'exécution du code suivant :

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem);
    echo $elem;
?>