본문으로 건너뛰기

เนื้อหาภาษาไทย / 태국어 콘텐츠

시스템 가이드 검수 완료된 콘텐츠

Loops: for, while, do-while

บทความนี้แนะนำ Loops ใน PHP ซึ่งเป็นเครื่องมือสำคัญในการทำซ้ำการทำงาน โดยอธิบายโครงสร้างและการใช้งานของ `for`, `while`, และ `do-while` loops พร้อมตัวอย่างการใช้...

Loops: for, while, do-while

ในบทที่แล้ว เราได้เรียนรู้เกี่ยวกับ Control Structures อย่าง if, else, และ elseif ซึ่งช่วยให้เราสามารถควบคุมการทำงานของโปรแกรมตามเงื่อนไขต่างๆ ได้ ในบทนี้ เราจะมาเรียนรู้เกี่ยวกับ Loops หรือการวนซ้ำ ซึ่งเป็นเครื่องมือสำคัญในการทำซ้ำการทำงานบางอย่างหลายๆ ครั้ง โดยไม่ต้องเขียนโค้ดเดิมซ้ำๆ หลายบรรทัด

PHP มี Loops ให้เลือกใช้ 3 แบบหลักๆ คือ for, while, และ do-while แต่ละแบบก็มีลักษณะการใช้งานที่แตกต่างกันไป เราจะมาดูกันทีละแบบ

for loop

for loop เป็น Loop ที่เหมาะสำหรับการวนซ้ำเมื่อเรารู้จำนวนรอบที่แน่นอนที่เราต้องการวนซ้ำ โครงสร้างของ for loop มีดังนี้:

for (initialization; condition; increment/decrement) {
    // โค้ดที่จะถูก execute ในแต่ละรอบ
}
  • initialization: ส่วนนี้จะถูก execute เพียงครั้งเดียวในตอนเริ่มต้นของ Loop มักใช้เพื่อกำหนดค่าเริ่มต้นให้กับตัวแปรที่ใช้ในการนับรอบ
  • condition: ส่วนนี้จะเป็นเงื่อนไขที่ถูกตรวจสอบก่อนการ execute โค้ดใน Loop แต่ละรอบ ถ้าเงื่อนไขเป็นจริง (true) โค้ดใน Loop จะถูก execute ถ้าเงื่อนไขเป็นเท็จ (false) Loop จะสิ้นสุด
  • increment/decrement: ส่วนนี้จะถูก execute หลังจากการ execute โค้ดใน Loop แต่ละรอบ มักใช้เพื่อเพิ่มหรือลดค่าของตัวแปรที่ใช้ในการนับรอบ

ลองดูตัวอย่างการใช้ for loop เพื่อพิมพ์ตัวเลข 1 ถึง 5:

<?php
for ($i = 1; $i <= 5; $i++) {
    echo $i . "<br>";
}
?>

ในตัวอย่างนี้:

  • $i = 1; กำหนดค่าเริ่มต้นให้ $i เท่ากับ 1
  • $i <= 5; เงื่อนไขคือ $i ต้องน้อยกว่าหรือเท่ากับ 5
  • $i++; เพิ่มค่า $i ขึ้นทีละ 1 ในแต่ละรอบ

ดังนั้น Loop จะทำงาน 5 รอบ โดยในแต่ละรอบจะพิมพ์ค่าของ $i และขึ้นบรรทัดใหม่

while loop

while loop เป็น Loop ที่เหมาะสำหรับการวนซ้ำเมื่อเราไม่รู้จำนวนรอบที่แน่นอน แต่เรารู้เงื่อนไขที่ต้องเป็นจริงเพื่อให้ Loop ทำงานต่อไป โครงสร้างของ while loop มีดังนี้:

while (condition) {
    // โค้ดที่จะถูก execute ในแต่ละรอบ
}

condition คือเงื่อนไขที่ถูกตรวจสอบก่อนการ execute โค้ดใน Loop แต่ละรอบ ถ้าเงื่อนไขเป็นจริง (true) โค้ดใน Loop จะถูก execute ถ้าเงื่อนไขเป็นเท็จ (false) Loop จะสิ้นสุด

ลองดูตัวอย่างการใช้ while loop เพื่อพิมพ์ตัวเลข 1 ถึง 5:

<?php
$i = 1;
while ($i <= 5) {
    echo $i . "<br>";
    $i++;
}
?>

ในตัวอย่างนี้:

  • $i = 1; กำหนดค่าเริ่มต้นให้ $i เท่ากับ 1 (ต้องกำหนดค่าก่อนเข้า Loop)
  • while ($i <= 5) เงื่อนไขคือ $i ต้องน้อยกว่าหรือเท่ากับ 5
  • $i++; เพิ่มค่า $i ขึ้นทีละ 1 ในแต่ละรอบ (ต้องมีการเปลี่ยนแปลงค่า $i ภายใน Loop เพื่อให้เงื่อนไขเป็นเท็จในที่สุด)

ข้อควรระวัง: หากเงื่อนไขใน while loop เป็นจริงตลอดเวลา (เช่น while (true)) Loop จะทำงานไปเรื่อยๆ ไม่สิ้นสุด (Infinite Loop) ซึ่งอาจทำให้โปรแกรมค้างได้ ดังนั้นต้องระมัดระวังในการกำหนดเงื่อนไข

do-while loop

do-while loop คล้ายกับ while loop แต่มีความแตกต่างที่สำคัญคือ do-while loop จะ execute โค้ดภายใน Loop อย่างน้อย 1 ครั้งเสมอ แม้ว่าเงื่อนไขจะเป็นเท็จตั้งแต่เริ่มต้น โครงสร้างของ do-while loop มีดังนี้:

do {
    // โค้ดที่จะถูก execute ในแต่ละรอบ
} while (condition);

condition คือเงื่อนไขที่ถูกตรวจสอบหลังจากการ execute โค้ดใน Loop แต่ละรอบ ถ้าเงื่อนไขเป็นจริง (true) Loop จะทำงานต่อไป ถ้าเงื่อนไขเป็นเท็จ (false) Loop จะสิ้นสุด

ลองดูตัวอย่างการใช้ do-while loop เพื่อพิมพ์ตัวเลข 1 ถึง 5:

<?php
$i = 1;
do {
    echo $i . "<br>";
    $i++;
} while ($i <= 5);
?>

ในตัวอย่างนี้:

  • $i = 1; กำหนดค่าเริ่มต้นให้ $i เท่ากับ 1 (ต้องกำหนดค่าก่อนเข้า Loop)
  • do { ... } while ($i <= 5); Loop จะ execute โค้ดภายใน Loop อย่างน้อย 1 ครั้ง
  • $i++; เพิ่มค่า $i ขึ้นทีละ 1 ในแต่ละรอบ (ต้องมีการเปลี่ยนแปลงค่า $i ภายใน Loop เพื่อให้เงื่อนไขเป็นเท็จในที่สุด)

ลองดูตัวอย่างที่เงื่อนไขเป็นเท็จตั้งแต่เริ่มต้น:

<?php
$i = 6;
do {
    echo $i . "<br>";
    $i++;
} while ($i <= 5);
?>

ในตัวอย่างนี้ $i มีค่าเริ่มต้นเป็น 6 ซึ่งทำให้เงื่อนไข $i <= 5 เป็นเท็จตั้งแต่เริ่มต้น แต่ do-while loop จะยังคง execute โค้ดภายใน Loop 1 ครั้ง ดังนั้นโปรแกรมจะพิมพ์เลข 6 ออกมา 1 ครั้ง

สรุป

Loops เป็นเครื่องมือที่สำคัญในการเขียนโปรแกรม ช่วยให้เราสามารถทำซ้ำการทำงานบางอย่างได้ง่ายขึ้น PHP มี Loops ให้เลือกใช้ 3 แบบหลักๆ คือ for, while, และ do-while แต่ละแบบก็มีลักษณะการใช้งานที่แตกต่างกันไป:

  • for loop: เหมาะสำหรับการวนซ้ำเมื่อรู้จำนวนรอบที่แน่นอน
  • while loop: เหมาะสำหรับการวนซ้ำเมื่อไม่รู้จำนวนรอบที่แน่นอน แต่รู้เงื่อนไขที่ต้องเป็นจริงเพื่อให้ Loop ทำงานต่อไป
  • do-while loop: คล้ายกับ while loop แต่จะ execute โค้ดภายใน Loop อย่างน้อย 1 ครั้งเสมอ

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

Office.in.th Custom Service

이 구조를 바탕으로 시스템을 개발하거나 맞춤 변경하고 싶으신가요?

Office.in.th는 엔터프라이즈 웹 애플리케이션, API 연동, 공공/민간 업무 관리 시스템을 설계·개발하며 장기 지원을 제공합니다.

소프트웨어 개발 서비스 보기