Comment

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

PHP switch (সুইচ)

Estimated reading: 2 minutes 15 views Contributors

সারাংশ: এই টিউটোরিয়ালে, আপনি PHP switch স্টেটমেন্ট সম্পর্কে শিখবেন যা একাধিক মানের সাথে একটি expression মিলে কোড ব্লক execute করে।

যখন একটি একক ভেরিয়েবলের মান বিভিন্ন পছন্দের সংখ্যা নির্ধারণ করে, আপনি if...elseif স্টেটমেন্ট ব্যবহার করতে পারেন।

ধরুন আপনি একটি ওয়েবসাইট তৈরি করছেন যার ব্যবহারকারী অনেক Roles . যেমন অ্যাডমিন, এডিটর, লেখক এবং গ্রাহক।

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

<code>&lt;?php

$role = 'subscriber';
$message = '';

if ('admin' === $role) {
	$message = 'Welcome, admin!';
} elseif ('editor' === $role) {
	$message = 'Welcome! You have some pending articles to edit';
} elseif ('author' === $role) {
	$message = 'Welcome! Do you want to publish the draft article?';
} elseif ('subscriber' === $role) {
	$message = 'Welcome! Check out some new articles.';
} else {
	$message = 'Sorry! You are not authorized to access this page';
}

echo $message;</code>

আউটপুট:

<code>Welcome! Check out some new articles.</code>

যখন একটি একক ভেরিয়েবলের মান বিভিন্ন পছন্দের সংখ্যা নির্দিষ্ট করে, তখন switch স্টেটমেন্ট এভাবে ব্যবহার করা অনেক বেশি cleaner :

<code>&lt;?php

$role = 'admin';
$message = '';

switch ($role) {
	case 'admin':
		$message = 'Welcome, admin!';
		break;
	case 'editor':
		$message = 'Welcome! You have some pending articles to edit';
		break;
	case 'author':
		$message = 'Welcome! Do you want to publish the draft article?';
		break;
	case 'subscriber':
		$message = 'Welcome! Check out some new articles.';
		break;
	default:
		$message = 'You are not authorized to access this page';
}

echo $message;</code>

নিম্নলিখিত switch স্টেটমেন্ট এর সিন্ট্যাক্স উপস্থাপন করে:

<code>&lt;?php

switch (expression) {
	case value1:
		// code block 1
		break;
	case value2:
		// code block 2
		break;
	case value3:
		// code block 3
		break;
	default:
		// default code block
}
</code><small>Code language: HTML, XML (xml)</small>

switch স্টেটমেন্ট প্রতিটি ক্ষেত্রে মানের সাথে একটি এক্সপ্রেশনের তুলনা করে।

যদি এক্সপ্রেশন একটি মানের সমান হয়, যেমন, value1, PHP কোড ব্লক কার্যকর করে যতক্ষণ না এটি প্রথম break স্টেটমেন্ট সম্মুখীন হয়।.

কোনো মিল না থাকলে এবং default থাকলে, PHP default কীওয়ার্ড অনুসরণ করে সমস্ত স্টেটমেন্ট কার্যকর করে।

যদি default অনির্দিষ্ট থাকে এবং স্টেটমেন্ট কোনো মিল না থাকে, তাহলে যেই স্টেটমেন্ট পাঠানো হয় তা switch স্টেটমেন্ট অনুসরণ করে।

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

PHP switch

Combining cases

যেহেতু PHP ম্যাচিং কেস লেবেল থেকে switch  স্টেটমেন্ট কার্যকর করে যতক্ষণ না এটি break স্টেটমেন্টের সম্মুখীন হয়, তাই আপনি একাধিক কেস একত্রিত করতে পারেন।

নিম্নলিখিত উদাহরণ switch  স্টেটমেন্ট ব্যবহার করে এবং ‘editor‘ এবং ‘author‘-এর কেসগুলিকে একত্রিত করে:

<code>&lt;?php

$message = '';
$role = 'author';

switch ($role) {
	case 'admin':
		$message = 'Welcome, admin!';
		break;
	case 'editor':
	case 'author':
		$message = 'Welcome! Do you want to create a new article?';
		break;
	case 'subscriber':
		$message = 'Welcome! Check out some new articles.';
		break;
	default:
		$message = 'You are not authorized to access this page';
}

echo $message;</code>

আউটপুট:

<code>Welcome! Do you want to create a new article?</code><small>Code language: PHP (php)</small>

এই উদাহরণে, role  editor হলে, এটি একই বার্তা দেখাবে।

PHP switch স্টেটমেন্ট এর বিকল্প সিন্ট্যাক্স

এছাড়াও PHP বিকল্প সিন্ট্যাক্স সমর্থন করে switch স্টেটমেন্টের জন্য। নিম্নরূপ:

<code>&lt;?php

switch (expression):
	case value1:
		// code block 1
		break;
	case value2:
		// code block 2
		break;

	default:
		// default code block
		break;
endswitch;</code><small>Code language: HTML, XML (xml)</small>

বিকল্প সিন্ট্যাক্স HTML কোডের সাথে মেশানোর জন্য উপযুক্ত।

সারসংক্ষেপ

  • একই এক্সপ্রেশন এ if স্টেটমেন্টের সিরিজের পরিবর্তে PHP switch  স্টেটমেন্ট ব্যবহার করুন।

Leave a Comment

Share this Doc

PHP switch (সুইচ)

Or copy link

CONTENTS

Subscribe

×
Cancel