آموزش زبان PHP – درس سوم: بخش دوم

php
بررسی چند حالت مختلف (Case)

ممکن است بخواهید چندین حالت را برای یک شرط بررسی کنید. به جمله شرطی if در قسمت زیر توجه کنید:

if ($i == 1 ||
    $i == 2 ||
    $i == 3) {
 echo '$i is somewhere between 1 and 3.';
}

به کمک یک دستور switch، با افزودن case ها بصورت بلافاصله و بدون افزودن Break ، می توانید همان کار را انجام دهید. به این عمل اصطلاحاً falling through گفته می شود. کد زیر دقیقا مانند کد جمله شرطی if بالا عمل می کند:

case 1:
case 2:
case 3:
    echo '$i is somewhere between 1 and 3.';
    break;
تمرین ۱:

در کد زیر دو زیر خط (_) را طوری جایگزین کنید که دستور سویچ ، اعداد ۳ و ۴ را نیز بررسی کند.

<!DOCTYPE html>
<html>
	<head>
		<title></title>
	</head>
	<body>
    <?php
    $i = 5;
    
    switch ($i) {
        case 0:
            echo '$i is 0.';
            break;
        case 1:
        case 2:
        case _:
        case _:
        case 5:
            echo '$i is somewhere between 1 and 5.';
            break;
        case 6:
        case 7:
            echo '$i is either 6 or 7.';
            break;
        default:
            echo "I don't know how much $i is.";
    }
    ?>
    </body>
</html>
استفاده از Endswitch

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

switch ($i) { 

}

اما روش دیگری نیز وجود دارد:

switch ($i):

endswitch;

این روش را یک نوشتار جایگزین (alternative syntax) می نمامند. این نوشتار جایگزین به ما در راحت تر نوشتن کد های سویچ کمک می کند و در اصطلاح یک syntactic sugar می باشد.

هیچ تفاوتی میان استفاده از آکولاد (روش اول) یا نوشتار جایگزین وجود ندارد، فقط به ما در خواندن کد ها کمک خواهد کرد. نوشتار جایگزین اکثرا در فایل های تریکیبی HTML و PHP مورد استفاده است.

تمرین ۲:

در کد زیر که پاسخ تمرین قبل می باشد ، کد را به روش دوم بنویسید.

<!DOCTYPE html>
<html>
	<head>
		<title></title>
	</head>
	<body>
    <?php
    $i = 5;
    
    switch ($i) {
        case 0:
            echo '$i is 0.';
            break;
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            echo '$i is somewhere between 1 and 5.';
            break;
        case 6:
        case 7:
            echo '$i is either 6 or 7.';
            break;
        default:
            echo "I don't know how much $i is.";
    }
    ?>
    </body>
</html>
روی پای خود بایستید!

زمان آن رسیده تا نشان دهید درباره سویچ ها چه می دانید!

تمرین ۳:

یک سویچ بنویسید و برای آن سه case و یک default تعریف کنید. اگر دلتان خواست می توانید از روش دوم نوشتار کد سویچ نیز استفاده کنید.

حل تمرینات
<!DOCTYPE html>
<html>
	<head>
		<title></title>
	</head>
	<body>
    <?php
    $i = 5;
    
    switch ($i) {
        case 0:
            echo '$i is 0.';
            break;
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            echo '$i is somewhere between 1 and 5.';
            break;
        case 6:
        case 7:
            echo '$i is either 6 or 7.';
            break;
        default:
            echo "I don't know how much $i is.";
    }
    ?>
    </body>
</html>
<!DOCTYPE html>
<html>
	<head>
		<title></title>
	</head>
	<body>
    <?php
    $i = 5;
    
    switch ($i):
        case 0:
            echo '$i is 0.';
            break;
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            echo '$i is somewhere between 1 and 5.';
            break;
        case 6:
        case 7:
            echo '$i is either 6 or 7.';
            break;
        default:
            echo "I don't know how much $i is.";
    endswitch;
    ?>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
		<title></title>
	</head>
	<body>
    <?php
    $umOne=20;
    $umTwo=10;
    switch ($umTwo + $umOne):
        case (40):
            print "sum is 40";
            break;
        case (30):
        echo "sum is 30";
        break;
        case ("somthing"):
            echo "somthing else";
            break;
            default:
                echo "nothing";
     endswitch;
    ?>
	</body>
</html>

تبریک! اکنون شما دستور بسیار پرکاربرد سویچ را بطور کامل آموخته اید. دست از تمرین برندارید و مطمئن باشید بزودی یک برنامه نویس وب خواهید بود.

محمد عنبرستانیمشاهده نوشته ها

Avatar for محمد عنبرستانی

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

بدون دیدگاه

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