Το πρόβλημα της προαιρετικότητας των αγκυλών στις συνθήκες if στην PHP

Παρόλο που η PHP επιτρέπει τις παραπάνω συντομεύσεις με αγκύλες, γενικά δεν το συνιστώ, καθώς αποτερεί πηγή δυσνόητων σφαλμάτων.

Ας υποθέσουμε για παράδειγμα ότι υπάρχει το ακόλουθο κώδικα:

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

Ας υποθέσουμε τώρα ότι αποφασίσαμε, σε περίπτωση που η συνθήκη ικανοποιείται, να κάνουμε και μια δεύτερη echo:

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

Ωστόσο, χωρίς αγκύλες, μέσα στη συνθήκη βρίσκεται μόνο η πρώτη εντολή εκτύπωσης, δηλαδή η πρώτη εκτύπωση θα εκτελείται όταν η συνθήκη είναι αληθής, ενώ η δεύτερη - πάντα.

Ουσιαστικά, ο κώδικάς μας είναι ισοδύναμος με αυτόν:

php<?php
  $test = 3;
  
  if ($test > 0) {
    echo $test;
  }
  
  echo '+++'; // αυτή η γραμμή βρέθηκε εκτός της συνθήκης
?>

Ενώ εμείς θα θέλαμε τον ακόλουθο κώδικα:

php<?php
  $test = 3;
  
  if ($test > 0) {
      echo $test;
      echo '+++'; // αυτή η γραμμή είναι μέσα στη συνθήκη
  }
?>

Αυτός ακριβώς είναι ο λόγος για τον οποίο συνιστάται πάντα να τοποθετείτε αγκύλες, για να μην πέφτετε σε σφάλματα αυτού του είδους.

Задание 1

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

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

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

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

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

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