การใช้ Switch ใน PHP
การใช้ Switch เป็นการใช้เพื่อ กำหนดทิศทางการทำงานของโปรแกรม โดยการกำหนดนั้นจะกำหนดจากค่า ค่าหนึ่ง ว่าเป็นค่าอะไร ถ้าเป็นค่านั้น แล้วจะทำอะไร ดู flowchart ได้ตามรูปด้านล่างครับ
จาก flowchart ข้างบน เราเขียนเป็น Syntax ของ Switch ได้ดังข้างล่างครับ
switch(กรณี)
{
case กรณี 1 : Command; break;
case กรณี 2 : Command; break;
case กรณี 3 : Command; break;
case กรณี 4 : Command; break;
default : คำสั่ง
}
ตัวอย่างการใช้งาน Switch
<html>
<body>
<?php
$d = date("D");
switch ($d)
{
case "Mon":
echo "Today is Monday";
break;
case "Tue":
echo "Today is Tuesday";
break;
case "Wed":
echo "Today is Wednesday";
break;
case "Thu":
echo "Today is Thursday";
break;
case "Fri":
echo "Today is Friday";
break;
case "Sat":
echo "Today is Saturday";
break;
case "Sun":
echo "Today is Sunday";
break;
default:
echo "Wonder which day is this ?";
}
?>
</body>
</html>
ตัวอย่างข้างบน เราใช้ตัวแปร d เก็บค่า สตริง ที่เป็นชื่อของวันปัจจุบัน แล้วเข้าสู่การตัดสินใจ ซึ่งใส่ตัวแปร d ใน คำสั่ง Switch จากนั้นก็ สร้างกรณีต่าง ๆ ที่เป็นไปได้ของ ตัวแปร นั่นคือ ตรวจสอบว่า เป็น วันจัน หรืออังคาร หรือพุทธ ... ถ้าเป็นวันไหน ก็ทำงานในบล็อกของกรณีนั้น
ตัวอย่างต่อไป
<html>
<body>
<?php
$x=1;
switch ($x)
{
case 1:
echo "Number 1";
break;
case 2:
echo "Number 2";
break;
case 3:
echo "Number 3";
break;
default:
echo "No number between 1 and 3";
}
?>
</body>
</html>
ตัวอย่างต่อไป
$x = 1;
switch($x){
case 1 :
print(x);
case 2 :
print(x);
case 3 :
print(x);
break;
case 4 :
print(x);
break;
default :
print(x);
}
อธิบาย จากโค้ดข้างบน เมื่อ x = 1 ซึ่งตรงกับ case แรก case นี้มีคำสั่งให้ปริ้นค่า x ออกมา เมื่อไม่มี break ก็ตกลงมา case ต่อมาซึ่งให้ปริ้นค่า x ออกมาอีก แล้วก็ตกลงมา case ต่อมา ซึ่งให้ปริ้นค่า x อีก แล้วพอมาเจอคำสั่ง break ก็ออกจากตัวเลือก while