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<?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<?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.

Задание 1

Tregoni, cili do të jetë rezultati i ekzekutimit të kodit të mëposhtëm:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem);
    echo $elem;
?>