Garbanotųjų skliaustų problema PHP cikluose
Nors cikluose galima praleisti garbanotuosius skliaustus, aš labai nerekomenduoju taip daryti, nes toks kodas dažnai sukelia klaidas.
Pažiūrėkime pavyzdžiu. Tarkime, mes turime tokį kodą:
<?php
for ($i = 0; $i <= 9; $i++)
echo $i; // atspausdins skaičius nuo 0 iki 9
?>
Atliksiu nedidelį pataisymą aukščiau pateiktame kode (suraskite, kokį) - ir jis nustos veikti:
<?php
for ($i = 0; $i <= 9; $i++);
echo $i; // parodys 10
?>
Taigi, ką aš pataisiau?
Problema atsirado dėl to, kad aš uždėjau
kabliataškį po skliausto ) nuo
ciklo. Tokiu atveju susidaro vadinamas
ciklas be kūno: jis tiesiog pasisuks
viduje, o kita eilutė jam nebepriklausys.
Todėl, siekiant išvengti problemų,
aš visada rekomenduoju dėti garbanotuosius skliaustus
cikluose.
Papasakokite, koks bus rezultatas vykdant šį kodą:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem);
echo $elem;
?>