PHP'de if Koşullarında Küme Parantezlerinin İsteğe Bağlı Olması Sorunu

PHP'nin yukarıda gösterilen küme parantezi kısaltmalarına izin vermesine rağmen, genel olarak bunu yapmanızı tavsiye etmiyorum, çünkü bu, tespit edilmesi zor hatalar için bir yuva görevi görür.

Örneğin aşağıdaki kod olduğunu varsayalım:

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

Şimdi diyelim ki koşul sağlandığında bir de ikinci bir echo yapmaya karar verdik:

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

Ancak, küme parantezleri olmadan koşulun içinde sadece ilk çıktı işlemi bulunur, yani ilk çıktı koşul doğru olduğunda çalışırken, ikincisi - her zaman çalışacaktır.

Aslında kodumuz şununla eşdeğerdir:

php<?php
  $test = 3;
  
  if ($test > 0) {
    echo $test;
  }
  
  echo '+++'; // bu satır koşulun dışında kaldı
?>

Oysa biz şöyle bir kod istiyorduk:

php<?php
  $test = 3;
  
  if ($test > 0) {
      echo $test;
      echo '+++'; // bu satır koşulun içinde
  }
?>

İşte bu nedenle, bu tür hatalara düşmemek için her zaman küme parantezlerinin kullanılması tavsiye edilir.

Задание 1

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

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

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

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

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

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