Problemi i kllapave gjarpëruese në ciklet në PHP
Edhe pse në ciklet mund t'i lini jashtë kllapat gjarpëruese, unë nuk e rekomandoj ta bëni këtë, pasi kodi i tillë shpesh çon në gabime.
Le të shohim një shembull. Le të themi se kemi kodin e mëposhtëm:
<?php
for ($i = 0; $i <= 9; $i++)
echo $i; // do të shfaqë numrat nga 0 në 9
?>
Do të bëj një ndryshim të vogël në kodin e paraqitur më sipër (gjeni cilin) - dhe ai do të ndalojë së funksionuari:
<?php
for ($i = 0; $i <= 9; $i++);
echo $i; // do të japë 10
?>
Pra, çfarë ndryshova?
Problemi lindi sepse vendosa një
pikëpresje pas kllapës ) nga
cikli. Në këtë rast do të fitohet i ashtuquajturi
cikël pa trup: ai thjesht do të përsëritet
brenda, dhe rreshti tjetër nuk do t'i
përkasë më. Prandaj, për të shmangur problemet,
unë gjithmonë rekomandoj të vendosni kllapa gjarpëruese
në ciklet.
Tregoni, cili do të jetë rezultati i ekzekutimit të kodit të mëposhtëm:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem);
echo $elem;
?>