PHP-তে if শর্তে বাধ্যতামূলক নয় এমন কার্লি ব্র্যাকেট সমস্যা

যদিও PHP উপরে দেখানো কার্লি ব্র্যাকেট সহ সংক্ষেপণ অনুমতি দেয়, সাধারণভাবে আমি এভাবে করা সুপারিশ করি না, কারণ এটি সূক্ষ্ম ত্রুটির জন্য একটি প্রজনন ক্ষেত্র।

উদাহরণস্বরূপ, নিম্নলিখিত কোডটি রয়েছে:

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

ধরুন এখন আমরা সিদ্ধান্ত নিয়েছি যে যদি শর্তটি সত্য হয়, তবে একটি দ্বিতীয় echoও করব:

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

যাইহোক, কার্লি ব্র্যাকেট ছাড়া শর্তের ভিতরে শুধুমাত্র প্রথম echoটি থাকে, অর্থাৎ প্রথম 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 '+++';
?>