Problema acoladelor în buclele în PHP
Deși în bucle se pot omite acoladele, eu nu recomand să faceți acest lucru, deoarece un astfel de cod duce adesea la erori.
Să ne uităm la un exemplu. Să presupunem că avem următorul cod:
<?php
for ($i = 0; $i <= 9; $i++)
echo $i; // va afișa numerele de la 0 la 9
?>
Voi face o mică modificare în codul de mai sus (găsiți care) - și acesta va înceta să funcționeze:
<?php
for ($i = 0; $i <= 9; $i++);
echo $i; // va afișa 10
?>
Deci, ce am schimbat?
Problema a apărut pentru că am pus
un punct și virgulă după paranteza ) din
buclă. În acest caz, se va crea așa-numita
buclă fără corp: aceasta se va executa
în interior, iar următoarea linie nu va mai
apartine acesteia. Prin urmare, pentru a evita problemele,
recomand întotdeauna să folosiți acolade
în bucle.
Spuneți care va fi rezultatul executării următorului cod:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem);
echo $elem;
?>