آشنایی با ساختارهای شرطی switch در php

PHP   
12 جولای 2014   

اگر شرط هایی که قرار است بررسی شوند زیاد باشد استفاده از elseif های تو در تو بسیار مشکل است؛ در این زمان می توانیم از ساختار شرطی switch استفاده کنیم. استفاده از ساختار شرطی switch بسیار ساده تر از elseif هاست اما تنها برای چک کردن مقادیر یک متغیر به کار می رود و فقط می تواند مقادیر تساوی را بررسی کند نه شرطی(همچون ساختار if). یعنی یک متغیر را در نظر گرفته و در صورت داشتن مقادیر مختلف دستورات مختلف را اجرا می کند و اگر مقدار متغیر با هیچ یک از مقادیر یکسان نبود دستورات دیگری را اجرا می کند.

شکل کلی آن به صورت زیر است:

همانطور که می بینید باید به جای n نام متغیر را قرار داد. n متغیری است که قرار است مقدار آن بررسی شود. این دستور با switch آغاز می شود و مقادیر مورد بررسی، همگی در داخل آکولاد { } قرار می گیرند.

برای بررسی کردن متغیر n، برای هر مقدار مورد بررسی یک بار از دستور case و در مقابل آن مقدار مورد بررسی و سپس کاراکتر دو نقطه : استفاده می شود و برای اتمام دستورات از break استفاده می کنیم.

اگر مقدار n برابر با هیچ یک از مقادیر بررسی شده برابر نباشد دستورات بعد از default اجرا خواهند شد. دستور break برای default اجباری نیست. استفاده از خود دستور default نیز اجباری نیست!!!

مثال روزهای هفته را که با ساختار elseif نوشته بودیم حالا با دستور switch بررسی می کنیم و مشاهده می شود که استفاده از این دستور بسیار ساده تر است:

 

اگر شماره روز هفته بین 1 تا 7 باشد نام روز چاپ می شود، در غیر این صورت پیغام “روز معتبر نمی باشد” چاپ می شود. خروجی این کد به شکل زیر می باشد:

Today is Wednesday