آموزش دستور Switch در PHP

آموزش دستور Switch در PHP
آموزشگاه آنلاین اکسیژن 2

با سلام

امیدوارم تا این لحظه از آموزش های ما استفاده کافی را برده باشید.

در این آموزش قصد داریم تا شما را با مفهوم دستور Switch و نحوه استفاده از انها آشنا کنیم.

همانطور که در آموزش قبلی خدمتتون عرض کردم در این آموزش با دستور Switch آشنا می شیم.

دستور Switch هم مانند دستور IF از انواع دستورهای شرطی می باشد. بهتر است بگوییم همان دستور IF می باشد ولی با شکل شمایل خاص،یعنی نمونه ای خاص از یکی از حالات دستور IF می شود دستور Switch.

دستور Switch به شکل کلی زیر در کد نویسی ها مورد استفاده قرار می گیرد:

<؟php
switch (متغیر) {
    case مورد اول:
        دستوراتی که در صورت رخداد مورد اول انجام می شود;
        break;
    case مورد دوم:
        دستوراتی که در صورت رخداد مورد دوم انجام می شود;
        break;
    case مورد سوم:
        دستوراتی که در صورت رخداد مورد سوم انجام می شود;
        break;
    ...
    default:
        دستوراتی که در صورت رخداد عمومی انجام می شود;
}
?>

دستور Switch به شکل بالا در معنا و مفهوم فارسی به این شکل می باشد که شما فرض کنید مساله ای به شکلی دارید که از شما می خواهد در صورت تحقق مورد اول برای متغیر x یک سری دستورات را صورت دهد، برای مورد دوم برای متغیر x یک سری دستورات دیگر و … . حال به یک مثال می پردازیم تا مفهوم این مساله برای شما روش گردد.

مثال:

ما می خواهیم

اگر مقدار متغیر x برابر شد با ۱ به ما عبارت عدد مورد نظر ۱ است ،

اگر مقدار متغیر x برابر شد با ۲ به ما عبارت عدد مورد نظر ۲ است ،

اگر مقدار متغیر x برابر شد با ۳ به ما عبارت عدد مورد نظر ۳ است ،

اگر مقدار متغیر x برابر شد با ۴ به ما عبارت عدد مورد نظر ۴ است ،

اگر مقدار متغیر x برابر شد با ۵ به ما عبارت عدد مورد نظر ۵ است ،

و در صورتی که هیچکدام از این حالت ها نبود به ما عبارت عدد مورد نظر در بازه ما وجود ندارد

نمایش داده شود .

حال همانطور که شاید به ذهن خیلی از شماها رسیده باشد می توانید از دستورات IF در php هم استفاده کنید اما راحتترین کار برای این نوع مسائل حل آنها به وسیله دستور Switch می باشد.

تکه کد زیر راه حل این مساله می باشد :

<?php
  switch ($x) {
    case "1":
        echo "عدد مورد نظر ۱ است.";
        break;
    case "2":
        echo "عدد مورد نظر ۲ است.";
        break;
    case "3":
        echo "عدد مورد نظر ۳ است.";
        break;
      case "4":
        echo "عدد مورد نظر ۴ است.";
        break;
      case "5":
        echo "عدد مورد نظر ۵ است.";
        break;
    default:
        echo "عدد مورد نظر در بازه ما وجود ندارد";
}
?>

و برای تست این دستور کافیت پیش از دستور Switch یک مقدار دلخواه را به متغیر x تخصیص دهید که من برای مثال مقدار ۳ را به متغیر Switch تخصیی داده و تکه کد خود را به صورت زیر ویرایش کردم.

<?php
  $x="3";
  switch ($x) {
    case "1":
        echo "عدد مورد نظر ۱ است.";
        break;
    case "2":
        echo "عدد مورد نظر ۲ است.";
        break;
    case "3":
        echo "عدد مورد نظر ۳ است.";
        break;
      case "4":
        echo "عدد مورد نظر ۴ است.";
        break;
      case "5":
        echo "عدد مورد نظر ۵ است.";
        break;
    default:
        echo "عدد مورد نظر در بازه ما وجود ندارد";
}
?>

نتیجه تکه کد بالا به شکل زیر شد :

اما بیایم و ببینیم بقیه المان ها در Switch چه کارهایی می کنند و چه مفاهیمی دارند؟

مفهوم case در دستور switch :

برای اینکه دستور Switch به درستی کار خود را انجام دهد مستلزم مواردی است که آن موارد در صورت تحقق اتفاقات بعدی را رقم بزنند به طور مثال شما فرض کنید می خواهیم از Switch ماشین استفاده کنید اگر Switch ماشین شما حالت های مختلفی را در هنگام قرار گرفتن در فرمان نداشته باشد دیگر نام Switch را یدک نمی کشد. همواره Switch کردن ما بین حداقل ۲ مورد باید صورت گیرد.تمامی کلید پریز ها یک نوع Switch محسوب می شود که در دو حالت خاموش یا روشن کار می کنند،شما نمی توانید یک سوئیچ را هم روشن نگه داشته و هم خاموش کنید.پس دستورات Switch فقط و فقط برای یک مورد قابل انجام است.حال این موارد را در PHP با نام case معرفی می کنند.

یعنی می گویید اگر مورد اول اتفاق افتاد یعنی (Case 1) آنگاه این امور دستوری را انجام بده و برای بقیه مورد ها هم به همین شکل.

مفهوم Break در دستور Switch :

Break بیشتر به عنوان یک شکننده دستور می باشد. وقتی شما از دستور Break در کدهای خود استفاده می کنید به مترجم کدهای خود یعنی همان مرورگرها می فهمانید که در صورت انجام این دستور و موارد از دستور خارج شده و ادامه مسیر خود را داشته باشد وگرنه در یک دور تسلسل افتاده و هیچگاه خارج نخواهد شد.

معنی این حرف این می شود که اگر شما در مثال بالا از این دستور استفاده نمی کردید پس از نمایش عبارت – عدد مورد نظر ۳ است. – دوباره این دور تکرار شده و تا بی نهایت این موضوع نمایش داده میشد اما اگر شما از دستور Break استفاده کنید پس از اتمام نمایش عبارت – عدد مورد نظر ۳ است. – مرورگر از دستور Switch خارج شده و ادامه کدها را کامپایل می کند.

مفهوم Default در دستور Switch:

دستور Default برای این در دستور سوییچ استفاده می گردد که شاید شما موردی از موارد مورد نظر حادث برای یک رویداد را مد نظر قرار نداده باشید. مثلا شما می خواهید ۵ مورد را مورد بررسی قرار دهید و در صورتی که رویدادی غیر از آن ۵ مورد پیش آمد دستوری دیگر انجام شود ،در این موارد شما از بخش Default در دستور Switch استفاده می کنید که معنی آن اینست که در حالت نرمال این دستورات رخ دهد و اگر موارد بالا را در نظر بگیریم برای هر کدام دستوری خاص صورت گیرد.

خب، آموزش دستور Switch هم به پایان رسید.

امیدوارم این آموزش برای شما مفید بوده باشه و بتونید کدهای مد نظر خودتون را به بهترین شکل در سایتتون درج کنید.

ما همواره منتظر ، نظرات، پیشنهادات و سوالات شما هستیم.

موفق و پیروز باشید.

دیدگاهتان را بنویسید