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);คือการหาจำนวนสมาชิกใน arrayfor ($i = 0; $i < $count; $i++)คือการวนซ้ำ array โดยใช้ index$iเริ่มต้นที่ 0 และสิ้นสุดที่$count - 1echo "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