Dev to webs {Coding…}

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

บทที่ 7: การใช้คำสั่งเงื่อนไข (if-else, switch)

1. การใช้คำสั่งเงื่อนไขใน PHP

คำสั่งเงื่อนไข (Conditional Statements) ใน PHP เป็นโครงสร้างที่ใช้ในการควบคุมการทำงานของโปรแกรม โดยให้โปรแกรมเลือกทำงานตามเงื่อนไขที่กำหนด ซึ่งจะช่วยให้การทำงานของโปรแกรมมีความยืดหยุ่นและปรับเปลี่ยนได้ตามสถานการณ์

PHP มีคำสั่งเงื่อนไขหลักๆ อยู่ 2 ประเภท ได้แก่ if-else และ switch ซึ่งมีการใช้งานที่แตกต่างกันไปตามรูปแบบของเงื่อนไขที่ต้องการ


2. คำสั่ง if-else ใน PHP

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

รูปแบบคำสั่ง if-else

if (เงื่อนไข) {
    // คำสั่งที่จะทำงานหากเงื่อนไขเป็นจริง
} else {
    // คำสั่งที่จะทำงานหากเงื่อนไขเป็นเท็จ
}

รูปแบบคำสั่ง if-elseif-else

if (เงื่อนไข1) {
    // คำสั่งที่จะทำงานหากเงื่อนไข1 เป็นจริง
} elseif (เงื่อนไข2) {
    // คำสั่งที่จะทำงานหากเงื่อนไข2 เป็นจริง
} else {
    // คำสั่งที่จะทำงานหากไม่มีเงื่อนไขใดเป็นจริง
}

ตัวอย่างการใช้งาน if-else

<?php
$age = 18;

if ($age >= 18) {
    echo "คุณสามารถเข้าร่วมกิจกรรมได้";
} else {
    echo "คุณยังไม่ถึงเกณฑ์";
}
?>

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

  • หาก $age มีค่ามากกว่าหรือเท่ากับ 18 โปรแกรมจะแสดงข้อความว่า “คุณสามารถเข้าร่วมกิจกรรมได้” แต่ถ้าค่าน้อยกว่า 18 จะแสดง “คุณยังไม่ถึงเกณฑ์”

ตัวอย่างการใช้งาน if-elseif-else

<?php
$score = 85;

if ($score >= 90) {
    echo "คุณได้เกรด A";
} elseif ($score >= 80) {
    echo "คุณได้เกรด B";
} elseif ($score >= 70) {
    echo "คุณได้เกรด C";
} else {
    echo "คุณต้องปรับปรุง";
}
?>

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

  • โปรแกรมจะตรวจสอบคะแนน $score เพื่อกำหนดเกรด หากคะแนนตรงกับเงื่อนไขใดก็จะทำตามคำสั่งของเงื่อนไขนั้นๆ

3. การใช้คำสั่ง switch ใน PHP

คำสั่ง switch ใช้ในกรณีที่ต้องการตรวจสอบค่าเดียวแต่หลายเงื่อนไข ซึ่งทำให้โค้ดดูเรียบร้อยและเข้าใจง่ายกว่า if-else เมื่อมีเงื่อนไขหลายเงื่อนไข

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

switch (ตัวแปร) {
    case ค่าที่1:
        // คำสั่งที่จะทำงานหากตัวแปรตรงกับค่าที่1
        break;
    case ค่าที่2:
        // คำสั่งที่จะทำงานหากตัวแปรตรงกับค่าที่2
        break;
    default:
        // คำสั่งที่จะทำงานหากไม่ตรงกับค่าใดๆ
        break;
}

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

ตัวอย่างการใช้งาน switch

<?php
$day = "จันทร์";

switch ($day) {
    case "จันทร์":
        echo "วันนี้เป็นวันจันทร์";
        break;
    case "อังคาร":
        echo "วันนี้เป็นวันอังคาร";
        break;
    case "พุธ":
        echo "วันนี้เป็นวันพุธ";
        break;
    default:
        echo "ไม่ทราบว่าวันอะไร";
        break;
}
?>

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

  • หากค่า $day ตรงกับ “จันทร์” จะทำการแสดงข้อความ “วันนี้เป็นวันจันทร์” แต่ถ้าไม่ตรงกับกรณีใดๆ จะไปที่ default และแสดงข้อความ “ไม่ทราบว่าวันอะไร”

4. การนำคำสั่ง if-else และ switch ไปใช้งานในโปรเจกต์จริง

คำสั่งเงื่อนไข if-else และ switch สามารถนำไปใช้งานได้หลากหลายในโปรเจกต์จริง เช่น การตรวจสอบสิทธิ์การใช้งาน การแสดงผลตามเงื่อนไข หรือการทำงานตามเงื่อนไขต่างๆ ในโปรเจกต์

4.1 การตรวจสอบสถานะการเข้าสู่ระบบด้วย if-else

การใช้ if-else เพื่อตรวจสอบว่าสถานะผู้ใช้ล็อกอินอยู่หรือไม่ หากล็อกอินแล้วจะแสดงข้อความต้อนรับผู้ใช้

<?php
$is_logged_in = true;
$user_name = "สมชาย";

if ($is_logged_in) {
    echo "ยินดีต้อนรับ, $user_name";
} else {
    echo "กรุณาเข้าสู่ระบบ";
}
?>

4.2 การใช้ switch สำหรับตรวจสอบประเภทของผู้ใช้

การใช้ switch เพื่อแสดงข้อความต้อนรับตามประเภทของผู้ใช้ เช่น ผู้ดูแลระบบ สมาชิกทั่วไป หรือผู้เยี่ยมชม

<?php
$user_role = "admin";

switch ($user_role) {
    case "admin":
        echo "ยินดีต้อนรับ, ผู้ดูแลระบบ";
        break;
    case "member":
        echo "ยินดีต้อนรับ, สมาชิก";
        break;
    default:
        echo "ยินดีต้อนรับ, ผู้เยี่ยมชม";
        break;
}
?>

4.3 การใช้ if-elseif-else เพื่อคำนวณคะแนนสอบและให้เกรด

การใช้ if-elseif-else ในการคำนวณคะแนนสอบและให้เกรดแก่ผู้เรียน

<?php
$score = 78;

if ($score >= 90) {
    echo "คุณได้เกรด A";
} elseif ($score >= 80) {
    echo "คุณได้เกรด B";
} elseif ($score >= 70) {
    echo "คุณได้เกรด C";
} elseif ($score >= 60) {
    echo "คุณได้เกรด D";
} else {
    echo "คุณได้เกรด F";
}
?>


5. ข้อดีและข้อจำกัดของ if-else และ switch

  • if-else: เหมาะสำหรับการตรวจสอบเงื่อนไขที่มีความซับซ้อน หรือการเปรียบเทียบค่าที่มีช่วง
  • switch: เหมาะสำหรับการตรวจสอบค่าที่แน่นอน เช่น ตรวจสอบค่าเท่ากับค่าหนึ่งๆ ทำให้โค้ดดูเรียบร้อยและอ่านง่าย

ข้อจำกัด:

  • คำสั่ง if-else จะทำให้โค้ดยาวขึ้นถ้ามีหลายเงื่อนไข ทำให้เข้าใจยาก
  • คำสั่ง switch ไม่สามารถใช้กับเงื่อนไขที่มีช่วงหรือมีการเปรียบเทียบซับซ้อนได้

6. บทสรุป

การใช้คำสั่งเงื่อนไข if-else และ switch ช่วยให้โปรแกรมสามารถเลือกทำงานตามเงื่อนไขที่กำหนดได้ ทำให้โปรแกรมมีความยืดหยุ่นและสามารถปรับเปลี่ยนตามสถานการณ์ได้ง่าย


Comments

ใส่ความเห็น

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