การสร้างเว็บเพจโดยใช้ภาษา PHP บทที่
16
การแบ่งสายงานโดยจำแนกตามเงื่อนไขแบบ
switch-caseนอกเหนือจากการใช้ if-else ในการจำแนกกรณีตามเงื่อนไขแล้ว
เรายังสามารถใช้โครงสร้างแบบ switch-case ได้
ตัวอย่างเช่น
switch ($day)
{ case
1 : echo
"Monday<BR>\n"; break;
case 2
: echo
"Tuesday<BR>\n"; break;
case 3
: echo
"Wednesday<BR>\n"; break;
case 4
: echo
"Thurday<BR>\n"; break;
case 5
: echo
"Friday<BR>\n"; break;
case
6: echo
"Saturday<BR>\n"; break;
case 7
: echo
"Sunday<BR>\n"; break;
default
: echo
"error<BR>\n"; } |
ถ้าตัวแปร $day มีค่าที่อยู่ระหว่าง 1 ถึง 7
ก็จะพิมพ์ชื่อวันเป็นภาษาอังกฤษ ถ้าตัวแปรมีค่านอกเหนือจากนั้น
ซึ่งในกรณีจะเป็น default ในโครงสร้างแบบ switch-case
ก็จะพิมพ์คำว่า error เพื่อให้ผู้ใช้ทราบ โปรดสังเกตว่า
ในแต่ละกรณี จะต้องจบด้วยคำสั่ง break; ยกเว้นแต่ของ
default ซึ่งจะมีหรือไม่ก็ได้ ถ้าเราไม่ได้ใส่คำสั่ง
break; เอาไว้
โปรแกรมก็จะกระทำคำสั่งทุกคำสั่งในกรณีที่อยู่ถัดมา
การจำแนกกรณีไม่จำเป็นต้องอาศัยเฉพาะตัวแปรที่เก็บค่าจำนวนเต็มเท่านั้น
ข้อมูลแบบอื่นก็ใช้ได้ เช่น ใช้ข้อความเป็นตัวจำแนกกรณี เช่น
switch ($answer)
{ case
"yes" : echo "The user
said 'yes'.\n";
break;
case "no" : echo "The user
said 'no'.\n";
break;
default: echo "The user said
neither 'yes' nor 'no'.\n"; } |
โปรดสังเกตว่า การจำแนกโดยใช้ข้อความนี้
จะดูความแตกต่างระหว่างตัวพิมพ์เล็กหรือใหญ่ด้วย
ในบางครั้งเราอาจจะไม่จำเป็นต้องใส่ break; ก็ได้
ตัวอย่างเช่น
switch ($answer)
{ case
"yes" : case "no" :
echo "The user said '",$answer,"'.\n";
break;
default: echo "The user said
neither 'yes' nor 'no'.\n"; } |
|