جمله شرطی switch در PHP

دسته : آموزش - برنامه نویسی - زبان PHP تاریخ انتشار :

The PHP switch Statement

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

در آموزش قبلی ۳ تا از جملات شرطی PHP رو گفتیم .

ساختار جمله شرطی switch در PHP به صورت زیر هستش .

switch($n) {
            case A:
                      run this code;
                      break ;
            case B:
                       run this code ;
                       break ;
            case C:
                       run this code ;
                       break ;
            case D:
                       run this code ;
                       break ;
            default:
                      run this code ;
                      break ;
}

توضیح ساختار

خوب ببینید از اول توضیح میدیم :

switch : خود کلمه کلیدی هستش که میگه ما میخوایم از این دستور استفاده کنیم .

n$ : ببینید این یک متغیره ، هر چیزی میتونه باشه ، یک عدد باشه یا یک کلمه . شاید هم یه مقداری باشه شما از کاربر گرفتید و میخواید روش یک عملیات انجام بدید . پس فقط یک متغیره .

case : این یک کلمه ی کلیدی دیگه س که برای switch به کار میره و همیشه ثابت هستش . case به فارسی یعنی “مورد” درسته ؟ پس میگه اگه مورد مثلا برابر با A هست اون کد زیریش رو انجام بده ، و اگه برابر با B هستش ، کد زیر B رو انجام بده . گرفتید ؟

break : این یک کلمه ی کلیدی دیگه س البته مخصوص switch نیست . خوب ببینید شما وقتی از switch استفاده میکنید و متغیر که میخواید روش عملیات انجام بدید به عنوان مثال با case A مطابقت داره دیگه چه لزومی داره case B رو هم چک کنه ؟ اینجاست که وقتی با case A مطابقت داشته باشه با استفاده از break از ادامه اجرای کد در داخل switch جلوگیری میکنه و کد بعد از switch رو اجرا میکنه . به اصطلاح میگیم از ادامه switch صرف نظر میکنه . حالا بعدا بیشتر در مورد کلمه کلیدی break صحبت میکنیم .

فقط این نکته رو داشته باشید که در پایان کد برای هر case در switch کلمه ی کلیدی break رو باید قرار بدید .

default : اگر متغیری که داریم روش عملیات switch رو انجام میدیم با هیچ کدام از case ها مطابقت نداشت ، دستور default اجرا میشه .

 

شما میتونید یک دستور switch بنویسید که مثلا هزار تا case داشته باشه . یا یک دستور switch بنویسید که یک عدد بین ۰ تا ۲۰ از کاربر به عنوان میانگین نمراتش بگیره ، اگه نمره بالای ۱۷ باشه A رو در خروجی نمایش بده ، اگه بین ۱۵ تا ۱۷ باشه B رو در خروجی نمایش بده و …

این طور نیست که هر case در دستور switch فقط یک لاین کد داشته باشه ، هر case در دستور switch میتونه هر چه قدر نیاز داشته باشید کد داشته باشه بعد در آخرین لاین هر بلاک case یک دستور break قرار بدید  .

خوب بریم سراغ مثال :

 <?php
$favcolor = "red";

switch ($favcolor) {
    case "red":
        echo "Your favorite color is red!";
        break;
    case "blue":
        echo "Your favorite color is blue!";
        break;
    case "green":
        echo "Your favorite color is green!";
        break;
    default:
        echo "Your favorite color is neither red, blue, nor green!";
}
?> 

یک مثال عددی هم بزنیم :
در زیر از یک کامنت خطی استفاده کردیم که در روند برنامه تاثیری نداره ، فقط با استفاده از کامنت کد های برنامه رو توضیح میدیم و ااز این به بعد زیاد ازش استفاده میکنیم . وقتی در PHP دو تا علامت / (بخوانید اسلش) پشت سرهم به صورت // بذاریم ، هر چی بعدش بنویسیم در روند برنامه تاثیری نداره و فقط جهت توضیح کد به کار میره . البته در قسمت کامنت ها که یک آموزش مخصوص به خودش داره توضیحش میدیم .

<?php

$average = 12 ;  //   مثلا یک ورودی از کاربر گرفتیم ، یا یک متغیر داریم مقدارش ۱۵ هستش 

switch($average) {
        case ($average >17) :
                echo "  معدل شما عالی هست " ;
                break ;
        case (15 <= $average):
               echo " معدل شما متوسط رو به بالا هست";
               break ;
        case (13 <= $average ):
               echo " معدل شما متوسط رو به پایین هست";
               break ;
        case ($average <13) :
                echo "  معدل شما ضعیف هست " ;
                break ;
        default:
                echo " ورودی شما عدد نیست و یا بین صفر تا ۲۰ نیست  " ;
                break ;
}
?>


نظرات ، پیشنهادات و درخواست های خود را از طریق فرم زیر با ما در میان بگذارید .