در قسمت قبلی با دستور شرطی 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 برای اینکار ندارید.
موفق باشید.