• ติดตามบน
โครงสร้างควบคุมในภาษา PHP (Control Structures)

โครงสร้างควบคุมในภาษา PHP (Control Structures)

Chalothorn Kosakul 22 พฤษภาคม 2569 48 ครั้ง

โครงสร้างควบคุมในภาษา PHP (Control Structures)

การพัฒนาโปรแกรมด้วยภาษา PHP จำเป็นต้องอาศัย “โครงสร้างควบคุม” (Control Structures) เพื่อกำหนดลำดับการทำงานของโปรแกรม ไม่ว่าจะเป็นการตัดสินใจตามเงื่อนไข หรือการทำงานซ้ำตามจำนวนรอบที่กำหนด โครงสร้างเหล่านี้ช่วยให้โปรแกรมสามารถทำงานได้อย่างยืดหยุ่น มีประสิทธิภาพ และตอบสนองต่อสถานการณ์ต่าง ๆ ได้อย่างเหมาะสม

ในบทนี้จะกล่าวถึงโครงสร้างควบคุมที่สำคัญใน PHP ได้แก่

  • โครงสร้างเงื่อนไข (if, else, switch)
  • โครงสร้างวนซ้ำ (for, while, do-while)
  • การวนซ้ำอาร์เรย์ด้วย foreach

1. โครงสร้างเงื่อนไขในภาษา PHP

โครงสร้างเงื่อนไข (Conditional Structure) ใช้สำหรับตรวจสอบสถานะหรือเงื่อนไขที่กำหนด และสั่งให้โปรแกรมทำงานแตกต่างกันตามผลลัพธ์ของเงื่อนไขนั้น


1.1 คำสั่ง if

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

รูปแบบคำสั่ง

if (เงื่อนไข) {

    // คำสั่งเมื่อเงื่อนไขเป็นจริง

}
ตัวอย่าง
<?php

$score = 85;

if ($score >= 80) {

    echo "คุณได้เกรด A";

}

?>

1.2 คำสั่ง if-else

ใช้เมื่อมี 2 กรณีในการตัดสินใจ หากเงื่อนไขไม่เป็นจริง โปรแกรมจะทำงานในส่วน else

ตัวอย่าง

<?php

$age = 15;

if ($age >= 18) {

    echo "คุณสามารถเข้าร่วมกิจกรรมได้";

} else {

    echo "คุณยังไม่สามารถเข้าร่วมกิจกรรมได้";

}

?>

1.3 คำสั่ง if-elseif-else

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

ตัวอย่าง

<?php

$score = 65;

if ($score >= 80) {

    echo "เกรด A";

} elseif ($score >= 70) {

    echo "เกรด B";

} elseif ($score >= 60) {

    echo "เกรด C";

} else {

    echo "เกรด F";

}

?>

แบบฝึกหัด: ตรวจสอบเลขคู่หรือเลขคี่

<?php

$number = 7;

if ($number % 2 == 0) {

    echo "even number";

} else {

    echo "odd number";

}

?>

แบบฝึกหัด: ตรวจสอบจำนวนบวก ลบ หรือศูนย์

<?php

$number = -5;

if ($number > 0) {

    if ($number % 2 == 0) {

        echo "positive even number";

    } else {

        echo "positive odd number";

    }

} elseif ($number < 0) {

    if ($number % 2 == 0) {

        echo "negative even number";

    } else {

        echo "negative odd number";

    }

} else {

    echo "The number is zero";

}

?>

1.4 คำสั่ง switch

คำสั่ง switch ใช้ตรวจสอบค่าที่มีหลายกรณี และเลือกทำงานตามค่าที่ตรงกับ case

ตัวอย่าง

<?php

$day = "Wednesday";

switch ($day) {

    case "Monday":

        echo "วันนี้เป็นวันจันทร์";

        break;

    case "Tuesday":

        echo "วันนี้เป็นวันอังคาร";

        break;

    case "Wednesday":

        echo "วันนี้เป็นวันพุธ";

        break;

    default:

        echo "วันนี้ไม่ตรงกับวันที่ระบุ";

        break;

}

?>

ความแตกต่างระหว่าง if-else และ switch

if-elseswitch
เหมาะกับเงื่อนไขซับซ้อนเหมาะกับค่าคงที่หลายกรณี
ใช้เปรียบเทียบได้หลากหลายอ่านง่ายเมื่อมีหลาย case
ยืดหยุ่นสูงโค้ดกระชับกว่า





2. โครงสร้างวนซ้ำในภาษา PHP

โครงสร้างวนซ้ำ (Loop) ใช้สำหรับทำงานเดิมซ้ำหลายครั้ง ช่วยลดความซ้ำซ้อนของโค้ด


2.1 คำสั่ง for

เหมาะสำหรับกรณีที่ทราบจำนวนรอบแน่นอน

ตัวอย่าง

<?php

for ($i = 1; $i <= 5; $i++) {

    echo "รอบที่ $i<br>";

}

?>

2.2 คำสั่ง while

ใช้เมื่อจำนวนรอบไม่แน่นอน แต่มีเงื่อนไขควบคุม

ตัวอย่าง

<?php

$i = 1;

while ($i <= 5) {

    echo "รอบที่ $i<br>";

    $i++;

}

?>

2.3 คำสั่ง do-while

คล้าย while แต่จะทำงานอย่างน้อย 1 ครั้งก่อนตรวจสอบเงื่อนไข

<?php

$i = 1;

do {

    echo "รอบที่ $i<br>";

    $i++;

} while ($i <= 5);

?>

เปรียบเทียบ for, while และ do-while

คำสั่งเหมาะกับการใช้งาน
forจำนวนรอบแน่นอน
whileจำนวนรอบไม่แน่นอน
do-whileต้องการให้ทำงานอย่างน้อย 1 ครั้ง


3. การใช้ foreach กับอาร์เรย์

คำสั่ง foreach ใช้สำหรับวนซ้ำข้อมูลในอาร์เรย์โดยเฉพาะ ทำให้เขียนโค้ดง่ายและอ่านเข้าใจได้สะดวก

การดึงค่าจากอาร์เรย์

<?php

$fruits = ["แอปเปิล", "กล้วย", "ส้ม"];

foreach ($fruits as $fruit) {

    echo "ผลไม้: $fruit<br>";

}

?>

การดึงทั้งคีย์และค่า

<?php

$person = [

    "ชื่อ" => "สมชาย",

    "อายุ" => 30,

    "อาชีพ" => "โปรแกรมเมอร์"

];

foreach ($person as $key => $value) {

    echo "$key: $value<br>";

}

?>

foreach กับอาร์เรย์หลายมิติ

<?php

$students = [

    ["ชื่อ" => "สมชาย", "เกรด" => "A"],

    ["ชื่อ" => "สมหญิง", "เกรด" => "B"]

];

foreach ($students as $student) {

    foreach ($student as $key => $value) {

        echo "$key: $value ";

    }

    echo "<br>";

}

?>

แบบฝึกหัดท้ายบท

ข้อที่ 1: โปรแกรมตัดเกรด
ข้อที่ 2: สูตรคูณแม่ 7
ข้อที่ 3: หาผลรวมเลขคู่ 1 ถึง 50
ข้อที่ 4: สร้างเมนูแบบไดนามิก


สรุป

โครงสร้างควบคุมในภาษา PHP เป็นพื้นฐานสำคัญที่ช่วยให้โปรแกรมสามารถตัดสินใจและทำงานซ้ำได้อย่างมีประสิทธิภาพ การเลือกใช้ if, switch, for, while, do-while และ foreach ให้เหมาะสมกับลักษณะงาน จะช่วยให้โค้ดอ่านง่าย ลดความซับซ้อน และพัฒนาโปรแกรมได้อย่างเป็นระบบมากขึ้น


แชร์บทความนี้