Problemet med klammerparenteser i loopar i PHP
Även om man kan utelämna klammerparenteser i loopar rekommenderar jag starkt att inte göra det, eftersom sådan kod ofta leder till fel.
Låt oss titta på ett exempel. Antag att vi har följande kod:
<?php
for ($i = 0; $i <= 9; $i++)
echo $i; // kommer att skriva ut talen från 0 till 9
?>
Jag gör en liten ändring i koden ovan (hitta vilken) - och den kommer att sluta fungera:
<?php
for ($i = 0; $i <= 9; $i++);
echo $i; // kommer att ge 10
?>
Så, vad var det jag ändrade?
Problemet uppstod för att jag satte
ett semikolon efter parentesen ) från
loopen. I så fall blir det en så kallad
loop utan kropp: den kommer bara att snurra
igenom inuti, och nästa rad kommer inte att
höra till den. Därför, för att undvika problem,
rekommenderar jag alltid att sätta klammerparenteser
i loopar.
Berätta, vad blir resultatet av att exekvera följande kod:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem);
echo $elem;
?>