آموزش کار با ساختار دستوری switch در PHP :
از ساختار دستوری switch، برای اجرای دستورات مختلف بر حسب مقادیر متفاوت یک متغیر یا حالت استفاده می شود.
به عبارت دیگر، از دستور switch می توان برای اجرای یکی از بلوک های دستور متفاوت از بین چندین بلوک دستور تعیین شده، بر حسب مقدار یک مقدار متغیر استفاده کرد.
ساختار کلی نوشتن یک دستور switch به صورت زیر است :
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; ... default: code to be executed if n is different from all labels; }
نحوه کار ساختار دستوری switch به صورت زیر است :
در ابتدای ساختار، یک عبارت یا expression داریم که در کد فوق با حرف n مشخص شده است. این عبارت معمولا یک متغیر بوده و در ابتدای اجرای ساختار یک بار سنجیده شده و مقدار آن در حافظه قرار می گیرد.
سپس مقدار عبارت با مقدار هر یک از Case های ساختار مقایسه می شود. اگر مقدار عبارت با هر یک از مقادیر Case ها یکسان بود، دستورات آن Case اجرا می شود. از دستور break در پایان هر Case، برای جلوگیری از ادامه اجرای سایر Case های ساختار استفاده می شود. اگر از break استفاده نکنیم، دستورات Case های بعد از Case ای که مقدار آن با متغیر ساختار برابر بوده است، نیز اجرا خواهد شد که معمولا نتیجه مورد نظر ما نیست.
در صورتی که مقدار عبارت n با مقدار هیچ یک از Case های ساختار switch برابر نباشد، دستورات بخش default اجرا خواهد شد.
مثال
در مثال زیر یک متغیر به نام $favcolor تعیین کرده ایم که مقدار اولیه red را خواهد داشت. سپس مقدار این متغیر با مقدارهای تعیین شده در هر Case مقایسه شده و دستور Case اول با مقدار red اجرا می شود.
به علت به کار بردن عبارت break در پایان تمامی دستورات Case ها، دستورات سایر Case ها اجرا نخواهد شد.