Težava z neobveznimi zavitimi oklepaji v pogojih v PHP

Kljub temu, da PHP dopušča zgoraj prikazane okrajšave z zavitimi oklepaji, jih na splošno ne priporočam, saj so razmnoževalnik težko ujetljivih napak.

Recimo, da imamo na primer naslednjo kodo:

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

Recimo, da smo se zdaj odločili, da v primeru, če je pogoj izpolnjen, naredimo še drugi echo:

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

Vendar pa je brez zavitih oklepajev znotraj pogoja le prvi izpis, kar pomeni, da se bo prvi izpis sprožil ob izpolnjenem pogoju, drugi pa - vedno.

Dejansko je naša koda enakovredna tej:

php<?php
  $test = 3;
  
  if ($test > 0) {
    echo $test;
  }
  
  echo '+++'; // ta vrstica se je izkazala za zunaj pogoja
?>

Mi pa bi želeli takšno kodo:

php<?php
  $test = 3;
  
  if ($test > 0) {
      echo $test;
      echo '+++'; // ta vrstica je znotraj pogoja
  }
?>

Prav zato je priporočljivo vedno postaviti zavite oklepaje, da ne pride do tovrstnih napak.

Задание 1

Brez zagon kode določite, kaj se bo izpisalo na zaslon:

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

Brez zagon kode določite, kaj se bo izpisalo na zaslon:

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

Brez zagon kode določite, kaj se bo izpisalo na zaslon:

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