Comment

PHP কন্ট্রোল ফ্লো (Control flow)

PHP ইফ স্টেটমেন্ট (if Statements)

Estimated reading: 2 minutes 14 views Contributors

সারাংশ: এই টিউটোরিয়ালে, আপনি PHP ইফ স্টেটমেন্ট এবং শর্তসাপেক্ষে কোড ব্লক চালানোর জন্য কীভাবে এটি ব্যবহার করবেন তা শিখবেন।

PHP if স্টেটমেন্ট পরিচিতি

যদি এক্সপ্রেশন সত্য মূল্যায়ন করে তাহলে if স্টেটমেন্ট আপনাকে একটি স্টেটমেন্ট কার্যকর করতে দেয়। নিম্নলিখিত if স্টেটমেন্টের সিনট্যাক্স দেখায়:

<?php
if ( expression ) 
    statement;

এই সিনট্যাক্সে, PHP প্রথমে এক্সপ্রেশনকে মূল্যায়ন করে। এক্সপ্রেশন টি true মূল্যায়ন করলে, PHP স্টেটমেন্ট কার্যকর করে। যদি এক্সপ্রেশন false মূল্যায়ন করে, PHP স্টেটমেন্ট কে ইগনোর করে।

নিচের ফ্লোচার্টটি ব্যাখ্যা করে কিভাবে if স্টেটমেন্ট কাজ করে:

নিম্নলিখিত উদাহরণটি যদি $is_admin ভেরিয়েবল সত্যে সেট করে তাহলে একটি বার্তা প্রদর্শন করতে if স্টেটমেন্ট ব্যবহার করে:

<?php

$is_admin = true;
if ($is_admin)
    echo 'Welcome, admin!';

যেহেতু $is_admin is true, স্ক্রিপ্টটি নিম্নলিখিত বার্তা আউটপুট করে:

Welcome, admin!

কার্লি ব্রেসিস

আপনি যদি if ব্লকে একাধিক স্টেটমেন্ট সম্পাদন করতে চান, তাহলে আপনি একাধিক স্টেটমেন্ট গ্রুপ করার জন্য কার্লি ব্রেসিস ব্যবহার করতে পারেন:

<?php
if ( expression ) {
   statement1;
   statement2;
   // more statement
}

নিম্নলিখিত উদাহরণটি if স্টেটমেন্ট ব্যবহার করে যা একাধিক স্টেটমেন্ট কার্যকর করে:

<?php

$can_edit = false;
$is_admin = true;

if ( $is_admin ) {
   echo 'Welcome, admin!';
   $can_edit = true;
}

এই উদাহরণে, if স্টেটমেন্ট একটি বার্তা প্রদর্শন করে এবং $can_edit ভেরিয়েবলকে true সেট করে যদি $is_admin ভেরিয়েবল true হয়।

if স্টেটমেন্ট সাথে সর্বদা কার্লি ব্রেসিস ব্যবহার করা একটি ভাল অভ্যাস, যদিও এটির এইভাবে চালানোর জন্য একটি একক statement রয়েছে:

<?php

if ( expression ) {
   statement;
}

তাছাড়া, কোডটিকে আরও রিডেবল করতে আপনি এক্সপ্রেশন এবং কার্লি ব্রেসিস এর মধ্যে স্পেস ব্যবহার করতে পারেন।

Nesting if statements

একটি if স্টেটমেন্টকে আরেকটি if স্টেটমেন্টের ভিতরে নেস্ট করা সম্ভব:

<?php

if ( expression1 ) {
    // do something
    if( expression2 ) {
        // do other things
    }
}

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি if স্টেটমেন্টকে অন্য if স্টেটমেন্টে নেস্ট করতে হয়:

<?php

$is_admin = true;
$can_approve = true;

if ($is_admin) {
	echo 'Welcome, admin!';
	if ($can_approve) {
		echo 'Please approve the pending items';
	}
}

Embed if statement in HTML

একটি HTML ডকুেমেন্ট এ if স্টেটমেন্ট এমবেড করতে, আপনি নিচের সিনট্যাক্সটি ব্যবহার করতে পারেন। PHP একটি ভাল সিনট্যাক্স প্রদান করে যা আপনাকে if স্টেটমেন্টকে HTML এর সাথে সুন্দরভাবে মিশ্রিত করতে দেয়:

<?php if ( expession) : ?&gt;
&lt;!-- HTML code here --&gt;
&lt;?php endif; ?&gt;

নিম্নলিখিত উদাহরণটি if স্টেটমেন্ট ব্যবহার করে যা $is_admin true হলে সম্পাদনা লিঙ্ক দেখায়:

&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
  &lt;meta charset="UTF-8"&gt;
  &lt;title&gt;PHP if Statement Demo&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;?php $is_admin = true; ?&gt;
  &lt;?php if ( $is_admin ) : ?&gt;
  &lt;a href="#"&gt;Edit&lt;/a&gt;
  &lt;?php endif; ?&gt;
  &lt;a href="#"&gt;View&lt;/a&gt; 
&lt;/body&gt;
&lt;/html&gt;

যেহেতু $is_admin  true, স্ক্রিপ্টটি সম্পাদনা লিঙ্কটি দেখায়। আপনি যদি $is_admin এর মান মিথ্যাতে পরিবর্তন করেন, আপনি আউটপুটে সম্পাদনা লিঙ্ক দেখতে পাবেন না।

PHP if স্টেটমেন্টের সাথে একটি সাধারণ ভুল

একটি সাধারণ ভুল যা আপনার হতে পারে তা হল if স্টেটমেন্টে ভুল অপারেটর ব্যবহার করা। উদাহরণ স্বরূপ:

<?php

$checked = 'on';
if( $checked = 'off' ) {
   echo 'The checkbox has not been checked';
}

এই স্ক্রিপ্টটি একটি বার্তা দেখায় যদি $checke করা ‘বন্ধ’ হয়। যাইহোক, if স্টেটমেন্ট  এক্সপ্রেশন একটি অ্যাসাইনমেন্ট , কম্পারিজন নয়: 

$checked = 'off'

এই এক্সপ্রেশন $checked করা ভেরিয়েবলে আক্ষরিক স্ট্রিং 'off'  নির্ধারণ করে এবং সেই ভেরিয়েবলটিকে ফেরত দেয়। এটি $checked করা ভেরিয়েবলের মানকে 'off'  মানের সাথে তুলনা করে না। অতএব, এক্সপ্রেশন সর্বদা সত্যের মূল্যায়ন করে, যা সঠিক নয়।

এই ইরর এড়াতে, আপনি কম্পারিজন অপারেটর এর আগে মানটি প্রথমে এবং কম্পারিজন অপারেটর এর পরে ভেরিয়েবলটি এভাবে রাখতে পারেন:

<?php

$checked = 'on';
if('off' == $checked ) {
   echo 'The checkbox has not been checked';
}

আপনি যদি ঘটনাক্রমে অ্যাসাইনমেন্ট অপারেটর (=) ব্যবহার করেন তবে PHP একটি সিনট্যাক্স ইরর উত্থাপন করবে:

<?php

$checked = 'on';
if ('off' = $checked) {
	echo 'The checkbox has not been checked';
}

Error:

Parse error: syntax error, unexpected '=' ...

সারসংক্ষেপঃ

  • যদি একটি শর্ত সত্যে মূল্যায়ন করা হয় তাহলে if একটি স্টেটমেন্টে  কার্যকর করে।
  • সর্বদা কার্লি ব্রেসিস  ব্যবহার করুন এমনকি যদি আপনার if স্টেটমেন্টে সম্পাদন করার জন্য একটি স্টেটমেন্ট থাকে। এটি কোডকে আরও সুস্পষ্ট করে তোলে।
  • সম্ভাব্য ভুল এড়াতে যদি ( value == $variable_name ) {} প্যাটার্ন ব্যবহার করুন।

Leave a Comment

Share this Doc

PHP ইফ স্টেটমেন্ট (if Statements)

Or copy link

CONTENTS

Subscribe

×
Cancel