Problemet med klammerparenteser i loopar i PHP

Även om man kan utelämna klammerparenteser i loopar rekommenderar jag starkt att inte göra det, eftersom sådan kod ofta leder till fel.

Låt oss titta på ett exempel. Antag att vi har följande kod:

php<?php
  for ($i = 0; $i <= 9; $i++)
    echo $i; // kommer att skriva ut talen från 0 till 9
?>

Jag gör en liten ändring i koden ovan (hitta vilken) - och den kommer att sluta fungera:

php<?php
  for ($i = 0; $i <= 9; $i++);
    echo $i; // kommer att ge 10
?>

Så, vad var det jag ändrade?

Problemet uppstod för att jag satte ett semikolon efter parentesen ) från loopen. I så fall blir det en så kallad loop utan kropp: den kommer bara att snurra igenom inuti, och nästa rad kommer inte att höra till den. Därför, för att undvika problem, rekommenderar jag alltid att sätta klammerparenteser i loopar.

Задание 1

Berätta, vad blir resultatet av att exekvera följande kod:

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