กลุมสาระภาษาไทยกลุ่มสาระคณิตศาสตร์กลุ่มสาระวิทยาศาสตร์กลุ่มสาระศิลป-(ทัศนศิลป์-ดนตรี-นาฏศิลป์)กลุ่มสาระสุขศึกษาและพลศึกษากลุ่มสาระสังคมศึกษาศาสนาและวัฒนธรรมกลุ่มสาระการงานอาชีพและเทคโนโลยีกลุ่มสาระภาษาต่างประเทศกิจกรรมพัฒนาผู้เรียน

กลุมสาระภาษาไทยกลุ่มสาระคณิตศาสตร์กลุ่มสาระวิทยาศาสตร์กลุ่มสาระศิลป-(ทัศนศิลป์-ดนตรี-นาฏศิลป์)กลุ่มสาระสุขศึกษาและพลศึกษากลุ่มสาระสังคมศึกษาศาสนาและวัฒนธรรมกลุ่มสาระการงานอาชีพและเทคโนโลยีกลุ่มสาระภาษาต่างประเทศกิจกรรมพัฒนาผู้เรียน
หน้าแรก » ชุดคำสั่ง ภาษา PHP » บทที่ 16 การแบ่งสายงานโดยจำแนกตามเงื่อนไขแบบ switch-case
บทที่ 16 การแบ่งสายงานโดยจำแนกตามเงื่อนไขแบบ switch-case
บทที่ 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"; 
}


ตั้งคำถามโดย อาจารย์ วรัญญู  บุตรรินทร์ 
หัวใจของการปฏิรูปการศึกษา คือ การปฏิรูปการเรียนรู้ และหัวใจของการปฏิรูปการเรียนรู้ คือ การปฏิรูปจากการยึดวิชาเป็นตัวตั้ง หรือที่เรียกว่า .ผู้เรียนเป็นสำคัญที่สุด. 
Fanpage เพื่อการศึกษา 
เมื่อ 17 พฤศจิกายน 2555 18:56:26 สอนโดย >> ครูเอ็กซ์
อ่าน 857 ตอบ 0 223.204.59.160