O problema das chaves omitidas em loops no PHP

Embora seja possível omitir as chaves nos loops, eu não recomendo fazê-lo, pois esse tipo de código frequentemente leva a erros.

Vamos ver um exemplo. Suponha que temos o seguinte código:

php<?php
  for ($i = 0; $i <= 9; $i++)
    echo $i; // exibirá os números de 0 a 9
?>

Farei uma pequena alteração no código acima (tente encontrar qual) - e ele parará de funcionar corretamente:

php<?php
  for ($i = 0; $i <= 9; $i++);
    echo $i; // retornará 10
?>

Então, o que eu alterei?

O problema surgiu porque eu coloquei um ponto e vírgula após o parêntese ) do loop. Nesse caso, obtém-se o que é chamado de loop sem corpo: ele simplesmente irá iterar sem executar nenhum comando, e a próxima linha não será parte dele. Portanto, para evitar problemas, eu sempre recomendo usar chaves nos loops.

Задание 1

Explique qual será o resultado da execução do seguinte código:

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