Problemet med krøllede parenteser i loops i PHP
Selvom man kan udelade krøllede parenteser i loops, fraråder jeg stærkt at gøre det, da sådan kode ofte fører til fejl.
Lad os se på et eksempel. Antag, at vi har følgende kode:
<?php
for ($i = 0; $i <= 9; $i++)
echo $i; // vil udskrive tallene fra 0 til 9
?>
Jeg laver en lille ændring i den viste kode ovenfor (find ud af hvilken) - og den vil stoppe med at virke:
<?php
for ($i = 0; $i <= 9; $i++);
echo $i; // vil vise 10
?>
Så, hvad var det jeg ændrede?
Problemet opstod, fordi jeg satte
et semikolon efter parentesen ) fra
loopet. I sådan et tilfælde får man det såkaldte
loop uden krop: det vil simpelthen køre igennem
internt, og den næste linje vil ikke længere
høre til det. Derfor, for at undgå problemer,
anbefaler jeg altid at sætte krøllede parenteser
i loops.
Fortæl, hvad resultatet af at eksekvere følgende kode vil være:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem);
echo $elem;
?>