Problém složených závorek ve smyčkách v PHP

Ačkoli ve smyčkách lze složené závorky vynechat, velmi to nedoporučuji, protože takový kód často vede k chybám.

Podívejme se na příklad. Předpokládejme, že máme následující kód:

php<?php
  for ($i = 0; $i <= 9; $i++)
    echo $i; // vypíše čísla od 0 do 9
?>

Udělám malou opravu v uvedeném kódu (zkuste najít jakou) - a přestane fungovat:

php<?php
  for ($i = 0; $i <= 9; $i++);
    echo $i; // vypíše 10
?>

Takže, co jsem opravil?

Problém vznikl tím, že jsem dal středník za závorku ) od smyčky. V takovém případě vznikne takzvaná smyčka bez těla: prostě se projede uvnitř, a následující řádek se na ni již nebude vztahovat. Proto, abychom se vyhnuli problémům, vždy doporučuji používat složené závorky u smyček.

Задание 1

Řekněte, jaký bude výsledek provedení následujícího kódu:

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