0Pricing
PHP Academy · บทเรียน

ลูป 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; // 5

continue — ข้ามรอบการวนซ้ำ

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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. if, elseif และ else
  2. คำสั่ง Switch และ Match
  3. ลูป for และ while
  4. foreach และการควบคุมลูป
← กลับไปที่ PHP Academy