บทที่7.5 คำสั่งควบคุม คำสั่งวนรอบ
หลังจากเราเข้าใจการทำงานของคำสั่งวนรอบแล้ว ทีนี้ก็มาถึงวิธีการควบคุมการทำงานของคำสั่งวนรอบแล้ว ซึ่งก็มีเพียง 2 คำสั่งคือ
- break
- continue
สำหรับคำสั่งควบคุมนี้ ต้องใช้งานร่วมกับคำสั่งเงื่อนไขภายในลูปควบคุมการทำงาน (งง อ่ะ)
คำสั่ง break
จะทำให้ลูปที่กำลังทำงานนั้น หยุดลงทันที ใช้ร่วมกับ for, foreach, while, do while, switch โดยเฉพาะ switch นั้น ต้องใส่ break สำหรับแต่ละ case ด้วย ไม่เช่นนั้นจะทำงานไปเรื่อยๆ จนหมด switch ลองดูตัวอย่างกันเลยล่ะกันครับ
- <?php
- for ($i = 0; $i < 10; $i++ ) {
- if ($i == 5) {
- break;
- }
- }
- ?>
จากตัวอย่าง for ถูกให้ทำงานเป็นจำนวน 10 รอบ แต่ภายในลูปมีเงื่อนไขอยู่ ถ้าหากวนไปไ้ด้ถึง 5 รอบก็จะตรงกับเงื่อนไขที่ตั้งไว้ คำสั่ง break จะถูกเรียกใช้งาน ทำให้ for หยุดทำงาน ทำให้ผลลัพท์ที่ได้เป็น 01234
คำสั่ง continue
เหมือนกับ break ทุกๆ อย่างเลยครับ เพียงแต่จะหยุดทำงานในรอบนั้นๆ แล้วทำงานรอบต่อไปจนหมดลูปแทน จากโค๊ดข้างบน ถ้าเปลี่ยนจาก break เป็น continue โปรแกรมก็จะข้ามการทำงานเมื่อวนไปได้ถึงรอบที่ 5 ทำให้ผลลัพท์เป็น 012346789 แทน
- <?php
- for ($i = 0; $i < 10; $i++ ) {
- if ($i == 5) {
- continue;
- }
- }
- ?>
ต้องลองเล่นดูบ่อยๆ ครับ ถึงจะเห็นประโยชน์ของมัน
โจทย์ขำๆ ครับ ลองคิดกันเล่นๆ ดีกว่า
- <?php
- // พิมพ์ 1 - 100 ยกเว้นเลขที่หาร 2 หรือ 5 ลงตัว
- for ($i = 1; $i < 100; $i++ ) {
- if (($i % 2 == 0) || ($i % 3 == 0)) {
- continue;
- }
- }
- ?>
มาลองคิดกันดูครับ ว่าจะได้ผลลัพท์อะไร
- <?php
- // อันนี้ไม่ยากเท่าไหร่ครับ
- $count = 0;
- for ($i = 6; $i > $count; $i--, ++$count ) {
- }
- ?>
จริงๆ ทั้งสองคำสั่งนี้ มันไม่มีอะไรให้เล่นเลยอ่ะครับ อีกอย่าง ก็เผากันสุดๆ เลย (ไม่รู้จะเขียนยังไงเหมือนกัน) ก็ทำความเข้าใจกันไว้ครับ เพราะยังไงก็ได้ใช้งานแน่นอน แต่อาจจะไม่บ่อยเท่าไหร่
แล้วพบกันใหม่ โอกาสหน้าครับ
- Printer-friendly version
- Login or register to post comments

