PHP හි if කොන්දේසිවල වරහන් වල අවශ්‍ය නොවීමේ ගැටලුව

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 '+++';
?>