ลูป for และ while
ทำโค้ดซ้ำด้วยลูป for, while และ do-while
ลูป for และ while เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใดจึงต้องใช้การวนซ้ำ
การวนซ้ำช่วยให้ทำบล็อกโค้ดซ้ำได้โดยไม่ต้องคัดลอกและวาง PHP มีโครงสร้างการวนซ้ำสี่แบบ:
for— เมื่อทราบจำนวนรอบแน่นอนwhile— ควบคุมด้วยเงื่อนไขdo-while— ทำงานอย่างน้อยหนึ่งครั้งforeach— วนผ่านอาร์เรย์/ออบเจ็กต์ (บทเรียนถัดไป)
การวนซ้ำด้วย for
ลูป for มีสามส่วน ได้แก่ การกำหนดค่าเริ่มต้น เงื่อนไข และการเพิ่มค่า:
<?php
for ($i = 0; $i < 5; $i++) {
echo $i . ' ';
}
// Output: 0 1 2 3 4การวนซ้ำด้วย for แบบนับถอยหลัง
คุณสามารถนับถอยหลังหรือเพิ่มทีละจำนวนใด ๆ ก็ได้:
<?php
// Count down
for ($i = 10; $i >= 1; $i--) {
echo $i . ' ';
}
// Step by 2
for ($i = 0; $i <= 10; $i += 2) {
echo $i . ' '; // 0 2 4 6 8 10
}การวนซ้ำด้วย while
ลูป while จะทำงานตราบใดที่เงื่อนไขเป็นจริง โดยตรวจสอบก่อนการวนซ้ำแต่ละรอบ:
<?php
$n = 1;
while ($n <= 5) {
echo $n . ' ';
$n++;
}
// Output: 1 2 3 4 5การวนซ้ำด้วย do-while
do-while จะทำงานส่วนตัวลูปอย่างน้อยหนึ่งครั้งเสมอ โดยตรวจสอบเงื่อนไขภายหลัง:
<?php
$attempt = 0;
do {
echo 'Trying... attempt ' . ($attempt + 1) . PHP_EOL;
$attempt++;
} while ($attempt < 3 && !connectToServer());
function connectToServer(): bool { return false; }การวนซ้ำไม่สิ้นสุดและ break
การวนซ้ำไม่สิ้นสุดจะทำงานตลอดไป เว้นแต่คุณจะใช้ break เพื่อออกจากลูป:
<?php
$count = 0;
while (true) {
$count++;
if ($count >= 5) {
break; // exit loop
}
}
echo $count; // 5continue — ข้ามรอบการวนซ้ำ
continue จะข้ามส่วนที่เหลือของรอบปัจจุบัน แล้วไปยังรอบถัดไป:
<?php
for ($i = 1; $i <= 10; $i++) {
if ($i % 2 === 0) {
continue; // skip even numbers
}
echo $i . ' '; // 1 3 5 7 9
}การวนซ้ำซ้อนกัน
สามารถซ้อนลูปไว้ภายในกันได้ ซึ่งมีประโยชน์สำหรับข้อมูลสองมิติ เช่น กริดหรือตาราง:
<?php
for ($row = 1; $row <= 3; $row++) {
for ($col = 1; $col <= 3; $col++) {
echo "($row,$col) ";
}
echo PHP_EOL;
}
// (1,1) (1,2) (1,3)
// (2,1) (2,2) (2,3)
// (3,1) (3,2) (3,3)การออกจากลูปที่ซ้อนกัน
ใช้ break 2 (หรือระบุหมายเลขใด ๆ) เพื่อออกจากลูปหลายระดับพร้อมกัน:
<?php
for ($i = 0; $i < 5; $i++) {
for ($j = 0; $j < 5; $j++) {
if ($i === 2 && $j === 2) {
break 2; // exits both loops
}
echo "$i,$j ";
}
}เคล็ดลับด้านประสิทธิภาพของการวนซ้ำ
หลีกเลี่ยงการดำเนินการที่ใช้เวลาหรือทรัพยากรมากภายในเงื่อนไขของลูป:
<?php
// Bad: count() called on every iteration
for ($i = 0; $i < count($arr); $i++) { /* ... */ }
// Good: calculate once
$len = count($arr);
for ($i = 0; $i < $len; $i++) { /* ... */ }
// Also fine: foreach avoids this entirely
foreach ($arr as $item) { /* ... */ }ไวยากรณ์การวนซ้ำรูปแบบอื่น
เช่นเดียวกับ if ลูปก็รองรับไวยากรณ์โคลอนรูปแบบอื่นสำหรับการฝังใน HTML:
<?php $items = ['apple', 'banana', 'cherry']; ?>
<ul>
<?php for ($i = 0; $i < count($items); $i++): ?>
<li><?= htmlspecialchars($items[$i]) ?></li>
<?php endfor; ?>
</ul>ตรวจสอบความเข้าใจ
ลูปใดรับประกันว่าจะทำงานส่วนตัวลูปอย่างน้อยหนึ่งครั้ง
สรุป: ลูป for และ while
สรุปการวนซ้ำ:
for— เหมาะที่สุดเมื่อทราบจำนวนรอบwhile— ตรวจสอบเงื่อนไขก่อนการวนซ้ำแต่ละรอบdo-while— ส่วนตัวลูปจะทำงานอย่างน้อยหนึ่งครั้งbreakออกจากลูป ส่วนbreak Nออกจากลูป N ระดับcontinueข้ามไปยังรอบถัดไป
ถัดไป: foreach สำหรับวนผ่านอาร์เรย์
คำถามที่พบบ่อย
บทเรียน “ลูป for และ while” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ลูป for และ while” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ลูป for และ while”
ทำโค้ดซ้ำด้วยลูป for, while และ do-while คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “ลูป for และ while” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม
ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- if, elseif และ else
- คำสั่ง Switch และ Match
- ลูป for และ while
- foreach และการควบคุมลูป