Skip to main content

เนื้อหาภาษาไทย / Thai content

System guide Content reviewed

Loop: for loop

บทความนี้เป็นการแนะนำการใช้งาน `for loop` ใน PHP ซึ่งเป็นโครงสร้างควบคุมที่ใช้ทำซ้ำชุดคำสั่งอย่างมีประสิทธิภาพ โดยอธิบายถึงโครงสร้าง, การกำหนดค่าเริ่มต้น, เงื่อ...

Loop: for loop

ในบทเรียนที่แล้ว เราได้เรียนรู้เกี่ยวกับ switch case ซึ่งเป็นคำสั่งควบคุมการทำงานที่ใช้ในการเลือกทำชุดคำสั่งตามค่าของตัวแปรเดียว ในบทนี้ เราจะมาเรียนรู้เกี่ยวกับการทำซ้ำชุดคำสั่ง หรือที่เรียกว่า "Loop" โดยจะเริ่มต้นด้วย for loop ซึ่งเป็น loop ที่มีความยืดหยุ่นและใช้งานกันอย่างแพร่หลายใน PHP

ทำไมต้อง Loop?

ลองจินตนาการว่าคุณต้องการแสดงตัวเลขตั้งแต่ 1 ถึง 10 บนหน้าเว็บ คุณอาจเขียนโค้ดแบบนี้:

<?php
echo 1;
echo "<br>";
echo 2;
echo "<br>";
echo 3;
echo "<br>";
// ... และต่อๆไปจนถึง 10
?>

แต่ถ้าคุณต้องการแสดงตัวเลขตั้งแต่ 1 ถึง 100 หรือ 1 ถึง 1000 ล่ะ? การเขียนโค้ดแบบเดิมๆ จะกลายเป็นเรื่องที่น่าเบื่อและใช้เวลานานมาก นี่คือเหตุผลที่เราต้องการ loop เพื่อให้เราสามารถทำซ้ำชุดคำสั่งได้อย่างง่ายดายและมีประสิทธิภาพ

โครงสร้างของ for loop

for loop ใน PHP มีโครงสร้างดังนี้:

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

ตัวอย่างการใช้งาน for loop อย่างง่าย

ลองมาดูตัวอย่างการใช้งาน for loop เพื่อแสดงตัวเลขตั้งแต่ 1 ถึง 10:

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

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

  • $i = 1 คือการกำหนดค่าเริ่มต้นให้กับตัวแปร $i ซึ่งเป็นตัวแปร counter โดยกำหนดให้มีค่าเท่ากับ 1
  • $i <= 10 คือเงื่อนไขที่ใช้ในการตรวจสอบว่า loop จะทำงานต่อไปหรือไม่ ตราบใดที่ $i มีค่าน้อยกว่าหรือเท่ากับ 10 loop จะยังคงทำงานต่อไป
  • $i++ คือการเพิ่มค่าของตัวแปร $i ขึ้นทีละ 1 หลังจากที่ loop ทำงานในแต่ละรอบ

ผลลัพธ์ที่ได้จากการรันโค้ดนี้คือ:

1<br>
2<br>
3<br>
4<br>
5<br>
6<br>
7<br>
8<br>
9<br>
10<br>

การกำหนดค่าเริ่มต้น, เงื่อนไข, และการเพิ่มค่า

เราสามารถปรับเปลี่ยนค่าเริ่มต้น, เงื่อนไข, และการเพิ่มค่าใน for loop ได้ตามต้องการ ตัวอย่างเช่น เราสามารถแสดงตัวเลขคู่ตั้งแต่ 2 ถึง 20 ได้ดังนี้:

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

ในตัวอย่างนี้ เราเริ่มต้น $i ที่ 2 และเพิ่มค่าขึ้นทีละ 2 ในแต่ละรอบ ทำให้เราได้ตัวเลขคู่ตั้งแต่ 2 ถึง 20

นอกจากนี้ เรายังสามารถลดค่าของตัวแปร counter ได้ ตัวอย่างเช่น เราสามารถแสดงตัวเลขตั้งแต่ 10 ถึง 1 ได้ดังนี้:

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

ในตัวอย่างนี้ เราเริ่มต้น $i ที่ 10 และลดค่าลงทีละ 1 ในแต่ละรอบ ทำให้เราได้ตัวเลขตั้งแต่ 10 ถึง 1

การใช้งาน break และ continue ใน loop

ในบางครั้ง เราอาจต้องการหยุดการทำงานของ loop ก่อนที่เงื่อนไขจะเป็นเท็จ หรือข้ามการทำงานในรอบปัจจุบันและไปยังรอบถัดไป เราสามารถทำได้โดยใช้คำสั่ง break และ continue

break

คำสั่ง break ใช้เพื่อหยุดการทำงานของ loop ทันที ตัวอย่างเช่น เราสามารถหยุด loop เมื่อ $i มีค่าเท่ากับ 5 ได้ดังนี้:

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

ในตัวอย่างนี้ เมื่อ $i มีค่าเท่ากับ 5 คำสั่ง break จะถูกเรียกใช้งาน ทำให้ loop หยุดการทำงาน และผลลัพธ์ที่ได้คือ:

1<br>
2<br>
3<br>
4<br>

continue

คำสั่ง continue ใช้เพื่อข้ามการทำงานในรอบปัจจุบันและไปยังรอบถัดไป ตัวอย่างเช่น เราสามารถข้ามการแสดงผลเมื่อ $i มีค่าเท่ากับ 5 ได้ดังนี้:

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

ในตัวอย่างนี้ เมื่อ $i มีค่าเท่ากับ 5 คำสั่ง continue จะถูกเรียกใช้งาน ทำให้ loop ข้ามการแสดงผลค่า 5 และไปยังรอบถัดไป และผลลัพธ์ที่ได้คือ:

1<br>
2<br>
3<br>
4<br>
6<br>
7<br>
8<br>
9<br>
10<br>

ตัวอย่างการใช้งาน for loop กับ Array

for loop มักถูกใช้ในการวนซ้ำ array เพื่อเข้าถึงข้อมูลในแต่ละ index ตัวอย่างเช่น:

<?php
$fruits = ["apple", "banana", "orange"];
$count = count($fruits);

for ($i = 0; $i < $count; $i++) {
  echo "Fruit at index " . $i . " is: " . $fruits[$i] . "<br>";
}
?>

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

  • $fruits = ["apple", "banana", "orange"]; คือการสร้าง array ที่เก็บชื่อผลไม้
  • $count = count($fruits); คือการหาจำนวนสมาชิกใน array
  • for ($i = 0; $i < $count; $i++) คือการวนซ้ำ array โดยใช้ index $i เริ่มต้นที่ 0 และสิ้นสุดที่ $count - 1
  • echo "Fruit at index " . $i . " is: " . $fruits[$i] . "<br>"; คือการแสดงผลชื่อผลไม้ที่ index $i

ผลลัพธ์ที่ได้คือ:

Fruit at index 0 is: apple<br>
Fruit at index 1 is: banana<br>
Fruit at index 2 is: orange<br>

สรุป

for loop เป็นเครื่องมือที่มีประโยชน์ในการทำซ้ำชุดคำสั่งใน PHP โดยเราสามารถกำหนดค่าเริ่มต้น, เงื่อนไข, และการเพิ่มค่าได้อย่างยืดหยุ่น นอกจากนี้ เรายังสามารถใช้คำสั่ง break และ continue เพื่อควบคุมการทำงานของ loop ได้อีกด้วย ในบทเรียนถัดไป เราจะมาเรียนรู้เกี่ยวกับ while loop ซึ่งเป็นอีกหนึ่ง loop ที่สำคัญใน PHP

Office.in.th Custom Service

Want to build or adapt a system from this structure?

Office.in.th designs and develops enterprise web applications, API integrations, and public- and private-sector management systems, with long-term support.

See our software development service