دستور switch در زبان php

در این مقاله از سری مقالات آموزش PHP سایت نارنجک، با هم درمورد دستور switch در زبان php صحبت میکنیم.
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(که اغلب متغیره) به ترتیب از اول با caseهای نوشته شده چک میشن. اگه مقدار ورودی با case اولی برابر بود کدهای نوشته شده تو بلوک مورد اول اجرا میشه. سپس دستور break اجرا میشه و از بررسی باقی caseها صرفنظر میشه. اگه مقدار ورودی با مقدار case بعدی برابر بود دستورات case بعدی اجرا میشه. به همین ترتیب اگه مقدار ورودی با هیچکدوم از caseها برابر نبود تا آخرین case نوشته شده چک میشه، اگه هیچکدوم اجرا نشدن، کدهای نوشته شده تو بلوک default اجرا میشن. به مثال زیر دقت کنین:
<?php $favcolor = "blue"; 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!"; } // Your favorite color is blue! ?>
همونطور که تو مثال بالا میبینید. مقدار ورودی switch برابر مقدار متغیر favcolor$ که برابر مقدار “blue” هستش. با case اولی که مقدارش “red” هست چک میشه، چون مقدارش با مقدار ورودی برابر نیست دستورات بلوک case اول اجرا نمیشه. سراغ case بعدی میره. چون مقدار ورودی با مقدار case بعدی برابر هستش کدهای نوشته شده تو بلوک کد case دوم اجرا میشن و در خروجی “!Your favorite color is blue” چاپ میشه بعدش دستور break اجرا میشه و از اجرای باقی caseها صرفنظر میشه.
<?php $num = 5; switch ($num) { case 1: echo "one"; break; case 2: echo "two"; break; case 3: echo "three"; break; default: echo "another"; } // another ?>
مقدار ورودی دستور switch تو مثال بالا، عدد ۵ هستش. چون عدد ورودی با هیچکدوم از caseهای موجود برابر نیست، کدهای نوشته شده تو بلاک default اجرا میشن و مقدار “another” در خروجی چاپ میشه.
دیدگاهتان را بنویسید