Problém zložených zátvoriek v cykloch v PHP
Hoci v cykloch je možné vynechať zložené zátvorky, veľmi to neodporúčam, pretože takýto kód často vedie k chybám.
Pozrime sa na príklad. Nech máme nasledujúci kód:
<?php
for ($i = 0; $i <= 9; $i++)
echo $i; // vypíše čísla od 0 do 9
?>
Vnesiem malú opravu do uvedeného kódu (nájdite akú) - a prestane fungovať:
<?php
for ($i = 0; $i <= 9; $i++);
echo $i; // vypíše 10
?>
Takže, čo som opravil?
Problém vznikol kvôli tomu, že som umiestnil
bodkočiarku za zátvorku ) od
cyklu. V takom prípade vznikne takzvaný
cyklus bez tela: jednoducho sa prejde
vnútri, a nasledujúci riadok už nebude
patriť k nemu. Preto, aby sa predišlo problémom,
vždy odporúčam používať zložené zátvorky
v cykloch.
Povedzte, aký bude výsledok vykonania nasledujúceho kódu:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem);
echo $elem;
?>