O problema da opcionalidade das chaves em condições no PHP

Apesar de o PHP permitir as abreviações mostradas acima sem chaves, eu, de modo geral, não recomendo fazer isso, pois isso é um criadouro de erros difíceis de detectar.

Suponha, por exemplo, o seguinte código:

php<?php
  $test = 3;
  
  if ($test > 0)
    echo $test;
?>

Suponha agora que decidimos, caso a condição seja atendida, fazer também um segundo echo:

php<?php
  $test = 3;
  
  if ($test > 0)
    echo $test;
    echo '+++';
?>

No entanto, sem as chaves, apenas a primeira impressão está dentro da condição, ou seja, a primeira impressão será executada se a condição for verdadeira, e a segunda - sempre.

Na prática, nosso código é equivalente a este:

php<?php
  $test = 3;
  
  if ($test > 0) {
    echo $test;
  }
  
  echo '+++'; // esta linha ficou fora da condição
?>

E nós gostaríamos deste código:

php<?php
  $test = 3;
  
  if ($test > 0) {
      echo $test;
      echo '+++'; // esta linha está dentro da condição
  }
?>

É por isso que é recomendável sempre utilizar chaves, para não cair nesse tipo de erro.

Задание 1

Sem executar o código, determine o que será exibido na tela:

php<?php
  $num = 5;
  
  if ($num === 5)
    echo $num;
    echo '+++';
?>
Задание 2

Sem executar o código, determine o que será exibido na tela:

php<?php
  $num = 0;
  
  if ($num === 5)
    echo $num;
    echo '+++';
?>
Задание 3

Sem executar o código, determine o que será exibido na tela:

php<?php
  $num = 0;
  
  if ($num === 5)
    echo $num;
    echo '---';
  echo '+++';
?>