
در قسمت قبلی با دستور شرطی if…Else در PHP آشنا شدیم. در این بخش از سری آموزش php قصد داریم نحوه نوشتن کد تصمیم گیری با دستور شرطی Switch…Case در PHP را آموزش بدیم.
استفاده از دستور شرطی switch…case در PHP
دستور switch..case یک جایگزین برای دستور if..else if..else است که در واقع هر دو یک چیز هستند.
دستور switch..case یک متغییر یا عبارت را در برابر مجموعه ای از مقادیر تست می کند تا تطابق را پیدا و سپس کد قرار گرفته در آن بلاک را اجرا کند
سینتکس آن بصورت زیر است :
|
1 2 3 4 5 6 7 8 9 10 11 |
switch(n){ case label1: // Code to be executed if n=label1 break; case label2: // Code to be executed if n=label2 break; ... default: // Code to be executed if n is different from all labels } |
مثال زیر را درنظر بگیرید که برای هر روز یک پیام متفاوت را نمایش می دهد.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?php $today = date("D"); switch($today){ case "Mon": echo "Today is Monday. Clean your house."; break; case "Tue": echo "Today is Tuesday. Buy some food."; break; case "Wed": echo "Today is Wednesday. Visit a doctor."; break; case "Thu": echo "Today is Thursday. Repair your car."; break; case "Fri": echo "Today is Friday. Party tonight."; break; case "Sat": echo "Today is Saturday. Its movie time."; break; case "Sun": echo "Today is Sunday. Do some rest."; break; default: echo "No information available for that day."; break; } ?> |
دستور شرطی switch…case در php یک تفاوت مهم با دستور if…else دارد.
دستور switch خط به خط (دستور به دستور) اجرا می کند و همین که PHP یک case را که true بر می گرداند پیدا کرد, نه تنها کل بلاک case مورد نظر را اجرا می کند, بلکه بصورت اتوماتیک کل case های بعد آن را نیز اجرا می کند.
برای جلوگیری از این مورد ما بعد از هر case یک دستور break را استفاده می کنیم.
دستور break به مفسر php می گوید همین که اولین مورد که true برگشت داد را اجرا و بعد دستور را به اتمام برساند.
به هر حال دستور break برای case یا default ضروری نیست اگر در اخر دستور switch باشد.
اما تمرین خوبی است که break را برای جلوگیری از ایجاد ارور یا نتایج غیرمنتظره, استفاده کنید.
default نیز اختیاری است, که یک عملیاتی را در صورتی که هیچ case ی با عبارت مشخص شده تطابق پیدا نکرد, انجام دهد.
لازم نیست که default حتما در آخر دستورات switch است شود
امیدوارم در این بخش آموزش PHP, از دستور شرطی Switch…Case در php نهایت استفاده را برده باشید.
در بخش بعدی کار با آرایه ها در PHP یاد می گیریم.
هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق باشید






سلام ، من یک سایت دارم به زبان پی اچ پی میخوام یه کاری کنم که اگه کاربر که توی سایت من هست دسترسیش به اینترنت قطع شد یه دستوری اجرا بشه آیا امکان پذیره ؟ اگه شدنی لطفا کمکم کن
سلام.
این موارد با جاوا اسکریپت قابل انجام است و نیاز خاصی به php برای اینکار ندارید.
موفق باشید.