ให้เรตสมาชิก: 2 / 5

ดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

 บทที่ 16 การแบ่งสายงานโดยจำแนกตามเงื่อนไขแบบ switch-case

นอกเหนือจากการใช้ if-else ในการจำแนกกรณีตามเงื่อนไขแล้ว เรายังสามารถใช้โครงสร้างแบบ switch-case ได้ ตัวอย่างเช่น
 
ตัวอย่างไฟล์ :: code_ex1.php
<?php
switch ($day) { 
  case 1 : 
    echo "Monday<BR> "; 
    break; 
  case 2 : 
    echo "Tuesday<BR> "; 
    break; 
  case 3 : 
    echo "Wednesday<BR> "; 
    break; 
  case 4 : 
    echo "Thurday<BR> "; 
    break; 
  case 5 : 
    echo "Friday<BR> "; 
    break; 
  case 6: 
    echo "Saturday<BR> "; 
    break; 
  case 7 : 
    echo "Sunday<BR> "; 
    break; 
  default : 
    echo "error<BR> "; 
}
?>

ถ้าตัวแปร $day มีค่าที่อยู่ระหว่าง 1 ถึง 7 ก็จะพิมพ์ชื่อวันเป็นภาษาอังกฤษ ถ้าตัวแปรมีค่านอกเหนือจากนั้น ซึ่งในกรณีจะเป็น default ในโครงสร้างแบบ switch-case ก็จะพิมพ์คำว่า error เพื่อให้ผู้ใช้ทราบ

โปรดสังเกตว่า ในแต่ละกรณี จะต้องจบด้วยคำสั่ง break; ยกเว้นแต่ของ default  ซึ่งจะมีหรือไม่ก็ได้ ถ้าเราไม่ได้ใส่คำสั่ง break; เอาไว้ โปรแกรมก็จะกระทำคำสั่งทุกคำสั่งในกรณีที่อยู่ถัดมาการจำแนกกรณีไม่จำเป็นต้องอาศัยเฉพาะตัวแปรที่เก็บค่าจำนวนเต็มเท่านั้น ข้อมูลแบบอื่นก็ใช้ได้ เช่น ใช้ข้อความเป็นตัวจำแนกกรณี เช่น 

 

ตัวอย่างไฟล์ :: code_ex2.php
<?php
switch ($answer) {
  case "yes" :
     echo "The user said 'yes'. ";
     break;
  case "no" :
     echo "The user said 'no'. ";
     break;
  default:
    echo "The user said neither 'yes' nor 'no'. ";
}
?>

โปรดสังเกตว่า การจำแนกโดยใช้ข้อความนี้ จะดูความแตกต่างระหว่างตัวพิมพ์เล็กหรือใหญ่ด้วย ในบางครั้งเราอาจจะไม่จำเป็นต้องใส่ break; ก็ได้ ตัวอย่างเช่น 

 

ตัวอย่างไฟล์ :: code_ex3.php
<?php
switch ($answer) {
  case "yes" :
  case "no" :
     echo "The user said '",$answer,"'. ";
     break;
  default:
    echo "The user said neither 'yes' nor 'no'. ";
}
?>


ชื่อ
บทที่ 16 การแบ่งสายงานโดยจำแนกตามเงื่อนไขแบบ switch-case
หมวดหมู่
PHP Basics, PHP Basics
ฮิต
18208
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-13 19:27:05

chapter_16.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 1014 bytes

ผู้อัพโหลดไฟล์ thatsawan

วันที่อัพโหลด 2014-04-11 10:54:16


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
แนะนำตัวช่วยในการ หาคำที่มีจำนวนการใช้งานมากที่สุด
โดย tatiya จ 20 ส.ค. 2018 4:54 pm บอร์ด Python Knowledge
0
4
จ 20 ส.ค. 2018 4:54 pm โดย tatiya
ตัวอย่างการใช้ Match Fuction
โดย tai14 จ 20 ส.ค. 2018 4:29 pm บอร์ด PHP Knowledge
0
3
จ 20 ส.ค. 2018 4:29 pm โดย tai14
ทำความรู้จักกับ Built-in Functions
โดย tai14 จ 20 ส.ค. 2018 3:40 pm บอร์ด PHP Knowledge
0
5
จ 20 ส.ค. 2018 3:40 pm โดย tai14
กลุ่มคำสั่งการทำงานซ้ำ
โดย tai14 จ 20 ส.ค. 2018 11:51 am บอร์ด PHP Knowledge
0
9
จ 20 ส.ค. 2018 11:51 am โดย tai14
ใบเสร็จรับเงินจาก POS แสดงเลขที่ Invoice ไม่ถูกต้อง [2018-08][006]
โดย AePongsak จ 20 ส.ค. 2018 10:54 am บอร์ด Hachanna - Testter
2
13
จ 20 ส.ค. 2018 5:18 pm โดย AePongsak
งานประจำวันที่ 20 สิงหาคม 2561
โดย Lamduan จ 20 ส.ค. 2018 10:23 am บอร์ด M066 - นางสาวลำดวน พันโอดเบี้ย
0
3
จ 20 ส.ค. 2018 10:23 am โดย Lamduan
งานที่ต้องทำประจำวันที่ 20 สิงหาคม 2561
โดย tai14 จ 20 ส.ค. 2018 10:18 am บอร์ด MT26 - นางสาวอัครยุภา ยงยุทธ
1
6
จ 20 ส.ค. 2018 4:35 pm โดย Parichat
งานประจำวันที่ 20 สิงหาคม 2561
โดย tatiya จ 20 ส.ค. 2018 10:13 am บอร์ด M065 - ตติยะ นาชัย
0
3
จ 20 ส.ค. 2018 10:13 am โดย tatiya
งานประจำวันที่ 20 สิงหาคม 2561
โดย pprn จ 20 ส.ค. 2018 10:11 am บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
0
1
จ 20 ส.ค. 2018 10:11 am โดย pprn
งานประจำวันที่ 20 สิงหาคม 2561
โดย prakon จ 20 ส.ค. 2018 10:07 am บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
1
12
จ 20 ส.ค. 2018 10:07 am โดย prakon
B - Period Payment หน้าทำใบเสนอราคาต้องอยู่ ที่ tab แรก และเป็นราคาหลังรวม vat แล้ว
โดย mindphp จ 20 ส.ค. 2018 3:42 am บอร์ด M.D.Soft Co.,Ltd. - Tester
0
2
จ 20 ส.ค. 2018 3:42 am โดย mindphp
Q-สอบถามครับตอนนี้ผมติดปัญหา EnvironmentError: [Errno 13] Permission denied:
โดย tatiya อ 19 ส.ค. 2018 10:41 pm บอร์ด Programming - C/C++ & java & Python
2
22
จ 20 ส.ค. 2018 6:21 am โดย tatiya
วิธีแก้ปัญหา 'pip' is not recognized as an internal or external command, operable program or batch file
โดย tatiya อ 19 ส.ค. 2018 9:56 pm บอร์ด Python Knowledge
0
8
อ 19 ส.ค. 2018 9:56 pm โดย tatiya
สอบถามวิธีติดตั้งตัว module pythainlp ครับ
โดย tatiya อ 19 ส.ค. 2018 5:41 pm บอร์ด Programming - C/C++ & java & Python
3
21
อ 19 ส.ค. 2018 8:10 pm โดย mindphp
สอบถามวิธีการใส่ค่าที่ต้องการใน type="number" เป็นตัวเลขได้ทั้งบวก ลบ และทศนิยมที่มีค่าเป็นบวกและลบ แต่ไม่เอา 0 ค่ะ
โดย pprn ส 18 ส.ค. 2018 8:14 pm บอร์ด HTML CSS
1
25
อ 19 ส.ค. 2018 5:15 pm โดย mindphp
B - หน้า Contact ของลูกค้ามีปุ่มติ๊กเกินมา
โดย thatsawan ส 18 ส.ค. 2018 6:59 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
3
ส 18 ส.ค. 2018 6:59 pm โดย thatsawan
อบรมระบบ ERP Odoo 11 ครั้งที่ 30 วันที่ 18 สิงหาคม 2561
โดย Lamduan ส 18 ส.ค. 2018 6:58 pm บอร์ด M066 - นางสาวลำดวน พันโอดเบี้ย
0
5
ส 18 ส.ค. 2018 6:58 pm โดย Lamduan
สอบถามวิธีการคำนวณหา Rate ค่ะ
โดย pprn ส 18 ส.ค. 2018 6:51 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
16
ส 18 ส.ค. 2018 6:51 pm โดย pprn
B - ฐานจริง User M017 สร้าง inv จากหน้า sale ไม่ได้
โดย thatsawan ส 18 ส.ค. 2018 4:57 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
2
ส 18 ส.ค. 2018 4:57 pm โดย thatsawan
B - ยกเลิกจ่ายชำระ เเต่ หัก ณ ที่จ่ายไม่ยกเลิก ทำให้ออกรายงา หัก ณ ที่จ่ายผิด
โดย thatsawan ส 18 ส.ค. 2018 4:44 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
3
ส 18 ส.ค. 2018 4:44 pm โดย thatsawan