A kapcsos zárójelek problémája a PHP ciklusaiban
Bár a ciklusoknál el lehet hagyni a kapcsos zárójeleket, én nagyon nem ajánlom ezt, mivel az ilyen kód gyakran hibákhoz vezet.
Nézzünk egy példát. Tegyük fel, hogy a következő kódunk van:
<?php
for ($i = 0; $i <= 9; $i++)
echo $i; // kiírja a 0-tól 9-ig terjedő számokat
?>
Végezek egy kis javítást a fenti kódon (keressék meg, mit) - és ez megszünteti a működését:
<?php
for ($i = 0; $i <= 9; $i++);
echo $i; // 10-et ad ki
?>
Szóval, mit javítottam?
A probléma azért merült fel, mert pontosvesszőt tettem
a ciklus zárójelének ) mögé.
Ebben az esetben egy úgynevezett
test nélküli ciklus jön létre: az egyszerűen csak lefut
belül, és a következő sor már nem fog hozzá
tartozni. Ezért a problémák elkerülése érdekében
én mindig ajánlom a kapcsos zárójelek használatát
a ciklusokban.
Mondják el, mi lesz a következő kód végrehajtásának eredménye:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem);
echo $elem;
?>