บทที่ 6 คำสั่งตรวจสอบเงื่อนไขและคำสั่งทำซ้ำ


6.1 คำสั่งตรวจสอบเงื่อนไข If
         คำสั่งเพื่อใช้ในการตรวจสอบเงื่อนไข หรืออาจจะเรียกว่าคำสั่งแบบทางเลือกในลักษณะของคำสั่ง if นี้สามารถแบ่งออกได้เป็น 3 ลักษณะด้วยกัน คือคำสั่งตรวจสอบเงื่อนไขแบบ 2 ทางเลือก และคำสั่งตรวจเงื่อนไขแบบหลายทางเลือก จะขออธิบายลักษณะของแต่ละคำสั่ง พร้อมทั้งยกตัวอย่างโปรแกรม PHP ของแต่ละคำสั่ง


คำสั่งตรวจสอบเงื่อนไขแบบทางเลือกเดียว (Single-alternative)


      เป็นลักษณะของเงื่อนไขที่ให้ตรวจสอบ หรือทางเลือกที่ให้ตรวจสอบมีแค่ทางเลือกเดียว โดยเงื่อนไขที่ใช้ในการตรวจสอบปกติจะเป็นนิพจน์ ดังนั้นผลของนิพจน์ดังกล่าวก็จะมีค่าไม่จริงก็เท็จอย่างใดอย่างหนึ่ง พิจารณา Flowchart เพื่อแสดงการทำงานของคำสั่งตรวจสอบเงื่อนไขแบบทางเลือกเดียว รวมทั้งรูปแบบคำสั่ง lf ทางเลือกเดียว ดังนี้














6.2 คำสั่งตรวจสอบเงื่อนไข Switch
          คำสั่งตรวจสอบเงื่อนไข Switch เป็นคำสั่งที่เหมาะสมสำหรับเงื่อนไขที่มีหลายๆ ทางเลือก การใช้คำสั่ง Switch จะช่วยให้โปรแกรมที่เขียนขั้นสั้นกระซับ 























6.3 คำสั่งทำซ้ำ While
         คำสั่งทำซ้ำ While ลักษณะของการวนเพื่อทำคำสั่งที่อยู่ภายในช่วงของการทำซ้ำ เหมาะสมหรับการเขียนโปรแกรม ที่ต้องเขียนคำสั่งบางคำสั่งที่ซ้ำกัน โดยไม่ต้องพิมพ์คำสั่งนั้นหลายๆ ครั้ง ใช้การเขียนคำสั่งนั้นๆ เพียงครั้งเดียวและให้การวนรอบตามจำนวนที่ต้องการ ลักษณะของการทำซ้ำ While เป็นการทำซ้ำแบบ Indefinite loop คือเป็นการทำซ้ำที่มีทราบจำนวนรอบที่แน่นอน พิจารณา Flowchart และรูปคำสั่ง While
รูปแบบการทำงาน 
while ( เงื่อนไข ) {
งานที่ต้องการทําซ้ำ;

การปรับค่าตัวแปรเงื่อนไขการทำงาน ;
จากรูปแบบคำสั่ง while สามารถเขียนเป็นผังงานได้ตามภาพต่อไปนี้














  

    คำสั่ง While จะมีการตรวจสอบเงื่อนไข (Condition) หลัง  While ว่าเป็นจริงหรือเท็จถ้าเงื่อนไขมีค่าเป็นจริงก็จะทำการสั่ง (Statement) ที่อยู่ภายในเครื่องหมายปีกกาเปิดและปิด แต่ถ้าเงื่อนไขมีค่าเป็นเท็จก็จะหยุดทำการซ้ำ คือลงไปทำคำสั่งที่อยู่ถัดไปของเครื่องหมายปีกกาปิด 

6.4 คำสั่งทำซ้ำ For
         จากหัวข้อที่ผ่านมาเราได้รู้จักกับคำสั่ง While ไปแล้ว ซึ่งเป็นคำสั่งทำซ้ำในลักษณะ Indfinite loop คือไม่ทราบจำนวนรอบที่แน่นอนของการทำซ้ำ ทราบแต่เพียงว่าจะทำการวนซ้ำก็ต่อเมื่อเงื่อนไขในการพิจารณาเป็นจริง แต่ถ้าเงื่อนไขเป็นเท็จก็จะหยุดการทำซ้ำ แต่สำหรับคำสั่ง for เป็นคำสั่งทำซ้ำในลักษณะ Definite loop คือทราบที่แน่นอนซ้ำกี่รอบ
   
                                                                                















        รูป Flowchart จะมีการตรวจสอบการทำซ้ำว่าครบจำนวนรอบที่กำหนดหรือไม่ ถ้ายังไม่ครบก็จะเข้าไปทำคำสั่ง (Statement) แต่ถ้าครบจำนวนรอบที่กำหนดแล้วในถัดไปก็จะไม่เข้าไปทำคำสั่ง แต่จะลงไปทำที่อยู่ถัดลงไปของวงเล็กปีกกาปิด



6.5 คำสั่งทำซ้ำ DO…While
          คำสั่งทำซ้ำ do…While นี้ลักษณะการทำซ้ำ Indefinite loop เหมือนกับคำสั่งทำซ้ำ While คือเป็นการทำซ้ำที่ไม่ทราบจำนวนรอบที่แน่นอน ลักษณะการทำงานสามารถอธิบายได้ด้วย Flowchart รวมทั้งรูปแบบของคำสั่ง

    




6.6 คำสั่งออกจาการทำงาน
         คำสั่งทำซ้ำ While, for,do…While และคำสั่งตรวจสอบเงื่อนไข Seitch จะทำการประมวลผลตามเงื่อนไขที่ได้กำหนดไว้ แต่ในบางครั้งเราอาจจะต้องการออกจากการทำงานก่อนที่คำสั่งนั้นๆ จะประมวลผลเสร็จโดยคำสั่งออกจากการทำงานแบ่งออกได้เป็น 2 ลักษณะ คือ คำสั่ง break จะออกจากการกระทำของคำสั่งนั้นและลงไปทำคำสั่งที่อยู่ถัดลงไป คำสั่ง exit หรือ die จะออกจากโปรแกรมนั้นไปเลย