Dev to webs {Coding…}

เรียนรู้การพัฒนาซอฟเวอร์ เพื่อความรู้ที่ยั่งยืน

บทที่ 8: วนลูปใน PHP (for, while, foreach)

1. ความสำคัญของการใช้ลูปใน PHP

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


2. คำสั่ง for ใน PHP

คำสั่ง for ใช้ในกรณีที่เราต้องการวนลูปตามจำนวนครั้งที่แน่นอน โดยกำหนดค่าเริ่มต้น เงื่อนไข และการเพิ่ม/ลดค่าได้ภายในคำสั่งเดียว

โครงสร้างคำสั่ง for

for (ค่าเริ่มต้น; เงื่อนไข; การเพิ่ม/ลดค่า) {
    // คำสั่งที่จะทำงานภายในลูป
}

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

<?php
for ($i = 1; $i <= 5; $i++) {
    echo "รอบที่: $i <br>";
}
?>

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

  • ตัวแปร $i เริ่มต้นที่ 1 และจะเพิ่มขึ้นทีละ 1 จนกว่าจะถึง 5
  • ผลลัพธ์จะเป็นการแสดงผลลัพธ์ “รอบที่: 1” จนถึง “รอบที่: 5”

การใช้ for ในการคำนวณผลรวม

ตัวอย่างการใช้ for ในการหาผลรวมของตัวเลขตั้งแต่ 1 ถึง 10

<?php
$sum = 0;
for ($i = 1; $i <= 10; $i++) {
    $sum += $i;
}
echo "ผลรวมของ 1 ถึง 10 คือ: $sum";
?>


3. คำสั่ง while ใน PHP

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

โครงสร้างคำสั่ง while

while (เงื่อนไข) {
    // คำสั่งที่จะทำงานภายในลูป
}

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

<?php
$count = 1;
while ($count <= 5) {
    echo "รอบที่: $count <br>";
    $count++;
}
?>

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

  • ตัวแปร $count เริ่มที่ 1 และจะเพิ่มขึ้นทีละ 1 ในทุกๆ รอบของลูป จนกว่าจะถึง 5
  • โปรแกรมจะแสดงข้อความ “รอบที่: 1” จนถึง “รอบที่: 5” ตามที่กำหนด

การใช้ while ในการสร้างฟอร์มรับค่าซ้ำๆ

ตัวอย่างการใช้ while ในการสร้างฟอร์มรับค่าจำนวน 3 ช่อง

<?php
$count = 1;
while ($count <= 3) {
    echo "หมายเลขที่ $count: <input type='text' name='num$count'><br>";
    $count++;
}
?>

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

  • โปรแกรมจะวนลูป 3 ครั้งเพื่อสร้างช่องรับข้อมูลหมายเลขที่ 1, 2 และ 3

4. คำสั่ง foreach ใน PHP

คำสั่ง foreach ใช้สำหรับการวนลูปข้อมูลในอาเรย์โดยเฉพาะ ช่วยให้สามารถเข้าถึงค่าภายในอาเรย์ได้โดยไม่ต้องรู้ขนาดของอาเรย์

โครงสร้างคำสั่ง foreach

foreach (อาเรย์ as ค่า) {
    // คำสั่งที่จะทำงานกับแต่ละค่าในอาเรย์
}

โครงสร้าง foreach สำหรับอาเรย์เชิงสัมพันธ์

foreach (อาเรย์ as คีย์ => ค่า) {
    // คำสั่งที่จะทำงานกับแต่ละคู่คีย์-ค่าในอาเรย์
}

ตัวอย่างการใช้ foreach กับอาเรย์เชิงตัวเลข

<?php
$fruits = array("แอปเปิ้ล", "กล้วย", "ส้ม");
foreach ($fruits as $fruit) {
    echo "ผลไม้: $fruit <br>";
}
?>

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

  • โปรแกรมจะวนลูปเพื่อแสดงผลชื่อผลไม้แต่ละชนิดในอาเรย์ $fruits

ตัวอย่างการใช้ foreach กับอาเรย์เชิงสัมพันธ์

<?php
$person = array("name" => "สมชาย", "age" => 30, "city" => "กรุงเทพฯ");
foreach ($person as $key => $value) {
    echo "$key: $value <br>";
}
?>

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

  • โปรแกรมจะวนลูปแสดงผลคู่คีย์และค่าของแต่ละรายการในอาเรย์ $person

5. การใช้งานลูปในโปรเจกต์จริง

การใช้งานลูปมีความสำคัญอย่างยิ่งในการพัฒนาโปรเจกต์จริง เช่น การแสดงผลรายการสินค้า การคำนวณข้อมูล หรือการแสดงรายการที่ได้รับจากฐานข้อมูล

5.1 การแสดงรายการสินค้าโดยใช้ foreach

ตัวอย่างการแสดงรายการสินค้าด้วยลูป foreach

<?php
$products = array("สินค้า A", "สินค้า B", "สินค้า C");
echo "<ul>";
foreach ($products as $product) {
    echo "<li>$product</li>";
}
echo "</ul>";
?>

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

  • โปรแกรมจะแสดงรายการสินค้าทั้งหมดในอาเรย์ $products ในรูปแบบของรายการ (list)

5.2 การคำนวณยอดขายรายสัปดาห์ด้วย for loop

การคำนวณยอดขายรวมรายสัปดาห์โดยใช้ for loop

<?php
$sales = array(1000, 1500, 1200, 900, 1400, 2000, 1700);
$total = 0;

for ($i = 0; $i < count($sales); $i++) {
    $total += $sales[$i];
}

echo "ยอดขายรวม: $total บาท";
?>

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

  • ใช้ for loop ในการคำนวณยอดขายรวมของแต่ละวันในสัปดาห์

5.3 การสร้างฟอร์มการสมัครสมาชิกแบบไดนามิกโดยใช้ while

การสร้างฟอร์มที่ให้ผู้ใช้เพิ่มชื่อสมาชิกตามจำนวนที่กำหนดโดยใช้ while

<?php
$num_members = 5;
$count = 1;

echo "<form>";
while ($count <= $num_members) {
    echo "ชื่อสมาชิก $count: <input type='text' name='member$count'><br>";
    $count++;
}
echo "</form>";
?>

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

  • โปรแกรมจะสร้างช่องรับชื่อสมาชิก 5 ช่องด้วย while loop

6. ข้อดีและข้อควรระวังในการใช้ลูป

  • ข้อดี: การใช้ลูปช่วยลดโค้ดที่ซ้ำซ้อน ช่วยให้สามารถจัดการข้อมูลได้อย่างมีประสิทธิภาพ
  • ข้อควรระวัง: การเขียนลูปที่ไม่มีการกำหนดเงื่อนไขหยุดที่ชัดเจนอาจทำให้เกิดลูปไม่รู้จบ (infinite loop) ซึ่งจะทำให้โปรแกรมทำงานต่อเนื่องโดยไม่หยุด

7. บทสรุป

การใช้ลูปใน PHP เป็นเครื่องมือที่มีประสิทธิภาพในการจัดการข้อมูลซ้ำๆ และเพิ่มความสะดวกในการพัฒนาโปรแกรม โดยคำสั่ง for, while และ foreach มีการใช้งานที่เหมาะสมกับสถานการณ์ต่างๆ

Comments

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *