دستور switch در php

در درس های قبلی ما نحوه استفاده از دستور if,else و elseif رو آموزش دادیم و دیدیم که چه جاهایی بدرد میخورن. گفتیم زمانی که بخوایم دو یا چند شرط رو بررسی کنیم از elseif استفاده میکنیم اما تصور کنید ما میخوایم ۱۰ شرط رو بررسی کنیم، اگر بخوایم این رو با elseif بنویسیم کدمون زیاد طولانی میشه. اینجاست که PHP پیشنهاد استفاده از دستور switch رو میده.

با استفاده از دستور switch شما میتونید تمام شرطها رو به یکباره چک کنید و این مهمترین ویژگی این دستوره. دستور switch یک متغیر به عنوان ورودی از ما میگیره و بعد اون رو با تمام case های که توسط ما مشخص میشه مقایسه میکنه اگر نتیجه یکی از case ها TRUE باشه دستورات اون رو اجرا میکنه اما اگر نتیجه مقایسه تمام case ها FALSE بشه دستورات داخل default رو اجرا میکنه.

Syntax:

switch (n)
{
case label1:
  code to be executed if n=label1;
  break;
case label2:
  code to be executed if n=label2;
  break;
case label3:
  code to be executed if n=label3;
  break;
case label4:
  code to be executed if n=label4;
  break;
default:
  code to be executed if n is different from all labels;
}

 

مثال:

$destination = "Tokyo";
echo "Traveling to $destination<br />";
switch ($destination){
	case "Las Vegas":
		echo "Bring an extra $500";
		break;
	case "Amsterdam":
		echo "Bring an open mind";
		break;	
	case "Egypt":
		echo "Bring 15 bottles of SPF 50 Sunscreen";
		break;	
	case "Tokyo":
		echo "Bring lots of money";
		break;
	case "Caribbean Islands":
		echo "Bring a swimsuit";
		break;	
}

خروجی:

Traveling to Tokyo
Bring lots of money

توضیح کد:

مقدار متغیر destination$ برابر با Tokyo هست. حالا PHP تو case ها دنبال Tokyo میگرده و در case چهارم Tokyo رو پیدا کرده و دستورات داخل اون رو اجرا میکنه.

نکته بسیار مهم: هر case شامل یک break هست که این دستور در انتهای محدوده هر case قرار میگیره. این دستور از اجرا شدن ادامه case ها جلوگیری میکنه.
مثال عدم استفاده از دستور break:

$destination = "Tokyo";
echo "Traveling to $destination<br />";
switch ($destination){
	case "Las Vegas":
		echo "Bring an extra $500";
	case "Amsterdam":
		echo "Bring an open mind";
	case "Egypt":
		echo "Bring 15 bottles of SPF 50 Sunscreen";
	case "Tokyo":
		echo "Bring lots of money";
	case "Caribbean Islands":
		echo "Bring a swimsuit";
}

خروجی:

Traveling to Tokyo
Bring lots of moneyBring a swimsuit

همونطور که دیدید بعد از پیدا کردن Tokyo دستور بعدی هم اجرا شد. برای همین از دستور break استفاده میشه.

 

Default:

همانطور که در بالا گفتم زمانی متغیر داده شده با هیچدام از case ها برابر نباشه دستورات داخل کیس default اجرا خواهد شد.

مثال:

$destination = "New York";
echo "Traveling to $destination<br />";
switch ($destination){
	case "Las Vegas":
		echo "Bring an extra $500";
		break;
	case "Amsterdam":
		echo "Bring an open mind";
		break;
	case "Egypt":
		echo "Bring 15 bottles of SPF 50 Sunscreen";
		break;	
	case "Tokyo":
		echo "Bring lots of money";
		break;	
	case "Caribbean Islands":
		echo "Bring a swimsuit";
		break; 	
	default:
		echo "Bring lots of underwear!";
		break;
}

خروجی:

Traveling to New York
Bring lots of underwear!

 

 



سوالی دارید؟

بدون گرفتن نتیجه اینجا رو ترک نکنید! هر سوالی دارید میتونید در عرض ۱۵ ثانیه ثبت نام و خیلی زود جواب بگیرید.

3 دیدگاه برای «دستور switch در php»

  1. آفرین من ۲۰ تا آموزش رو با هم می گذرونم تا چیزی از قلم نیوفته آموزش های داده شده بسیار عالی و کامل هستند مخصوصا بخش عملگرها یا همون اپراتورها

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

به سوال زیر پاسخ بدهید *