Skip to main content

เนื้อหาภาษาไทย / Thai content

System guide Content reviewed

คำสั่งควบคุมการทำงาน: if, else, elseif

บทความนี้กล่าวถึงคำสั่งควบคุมการทำงานพื้นฐานใน PHP ได้แก่ `if`, `else` และ `elseif` ซึ่งช่วยให้โปรแกรมสามารถเลือกเส้นทางการทำงานตามเงื่อนไขต่างๆ ได้ โดยมีการอธิ...

คำสั่งควบคุมการทำงาน: if, else, elseif

ในบทเรียนก่อนหน้านี้ เราได้เรียนรู้เกี่ยวกับตัวดำเนินการ (Operators) ต่างๆ ใน PHP ซึ่งมีความสำคัญในการจัดการข้อมูลและทำการคำนวณ ในบทนี้ เราจะมาเรียนรู้เกี่ยวกับคำสั่งควบคุมการทำงาน (Control Structures) ซึ่งเป็นส่วนสำคัญในการสร้างโปรแกรมที่มีความยืดหยุ่นและสามารถตัดสินใจเลือกเส้นทางการทำงานได้ตามเงื่อนไขที่กำหนด โดยเฉพาะอย่างยิ่ง คำสั่ง if, else, และ elseif

คำสั่ง if

คำสั่ง if เป็นคำสั่งพื้นฐานที่สุดในการควบคุมการทำงานแบบมีเงื่อนไข โครงสร้างของคำสั่ง if มีดังนี้:

if (เงื่อนไข) {
  // โค้ดที่จะทำงานเมื่อเงื่อนไขเป็นจริง (true)
}

คำอธิบาย:

  • if คือคำสั่งเริ่มต้น
  • (เงื่อนไข) คือนิพจน์ (expression) ที่ให้ผลลัพธ์เป็นค่าความจริง (boolean) คือ true หรือ false
  • { } คือบล็อกของโค้ดที่จะถูก execute หากเงื่อนไขเป็นจริง

ตัวอย่าง:

<?php
$age = 20;

if ($age >= 18) {
  echo "คุณสามารถลงคะแนนเสียงได้";
}
?>

ในตัวอย่างนี้ เรากำหนดค่าตัวแปร $age เป็น 20 จากนั้นใช้คำสั่ง if เพื่อตรวจสอบว่า $age มากกว่าหรือเท่ากับ 18 หรือไม่ ถ้าเงื่อนไขเป็นจริง (ซึ่งในกรณีนี้เป็นจริง) โค้ดภายในบล็อก { } จะถูก execute และข้อความ "คุณสามารถลงคะแนนเสียงได้" จะถูกแสดงผล

คำสั่ง else

คำสั่ง else ใช้ควบคู่กับคำสั่ง if เพื่อกำหนดโค้ดที่จะทำงานเมื่อเงื่อนไขใน if เป็นเท็จ โครงสร้างของคำสั่ง if else มีดังนี้:

if (เงื่อนไข) {
  // โค้ดที่จะทำงานเมื่อเงื่อนไขเป็นจริง (true)
} else {
  // โค้ดที่จะทำงานเมื่อเงื่อนไขเป็นเท็จ (false)
}

คำอธิบาย:

  • else คือคำสั่งที่ใช้เมื่อเงื่อนไขใน if เป็นเท็จ
  • { } หลัง else คือบล็อกของโค้ดที่จะถูก execute หากเงื่อนไขใน if เป็นเท็จ

ตัวอย่าง:

<?php
$age = 15;

if ($age >= 18) {
  echo "คุณสามารถลงคะแนนเสียงได้";
} else {
  echo "คุณยังไม่สามารถลงคะแนนเสียงได้";
}
?>

ในตัวอย่างนี้ $age มีค่าเป็น 15 ซึ่งน้อยกว่า 18 ดังนั้นเงื่อนไขใน if จะเป็นเท็จ และโค้ดในบล็อก else จะถูก execute ทำให้ข้อความ "คุณยังไม่สามารถลงคะแนนเสียงได้" ถูกแสดงผล

คำสั่ง elseif

คำสั่ง elseif (หรือ else if) ใช้เมื่อต้องการตรวจสอบหลายเงื่อนไขต่อเนื่องกัน โครงสร้างของคำสั่ง if elseif else มีดังนี้:

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

คำอธิบาย:

  • elseif คือคำสั่งที่ใช้ตรวจสอบเงื่อนไขเพิ่มเติม หากเงื่อนไขก่อนหน้าเป็นเท็จ
  • สามารถมี elseif ได้หลายครั้ง
  • else (ถ้ามี) จะถูก execute เมื่อไม่มีเงื่อนไขใดๆ เป็นจริง

ตัวอย่าง:

<?php
$score = 85;

if ($score >= 80) {
  echo "เกรด A";
} elseif ($score >= 70) {
  echo "เกรด B";
} elseif ($score >= 60) {
  echo "เกรด C";
} elseif ($score >= 50) {
  echo "เกรด D";
} else {
  echo "เกรด F";
}
?>

ในตัวอย่างนี้ เราตรวจสอบค่า $score และกำหนดเกรดตามช่วงคะแนนต่างๆ ถ้า $score คือ 85 เงื่อนไขแรก ($score >= 80) จะเป็นจริง และ "เกรด A" จะถูกแสดงผล เงื่อนไขอื่นๆ จะไม่ถูกตรวจสอบอีก

Nested if Statements

เราสามารถซ้อน (nest) คำสั่ง if, else, และ elseif ภายในกันได้ เพื่อสร้างโครงสร้างการตัดสินใจที่ซับซ้อนยิ่งขึ้น

ตัวอย่าง:

<?php
$username = "admin";
$password = "password123";
$isLoggedIn = false;

if ($username == "admin") {
  if ($password == "password123") {
    $isLoggedIn = true;
    echo "เข้าสู่ระบบสำเร็จ";
  } else {
    echo "รหัสผ่านไม่ถูกต้อง";
  }
} else {
  echo "ชื่อผู้ใช้ไม่ถูกต้อง";
}

if ($isLoggedIn) {
  // ดำเนินการหลังจากเข้าสู่ระบบสำเร็จ
  echo "<br>ยินดีต้อนรับสู่ระบบ";
}
?>

ในตัวอย่างนี้ เราตรวจสอบทั้งชื่อผู้ใช้และรหัสผ่าน ถ้าชื่อผู้ใช้ถูกต้อง เราจะตรวจสอบรหัสผ่านอีกครั้ง ถ้าทั้งสองอย่างถูกต้อง เราจะกำหนดค่า $isLoggedIn เป็น true และแสดงข้อความ "เข้าสู่ระบบสำเร็จ" จากนั้น เราใช้คำสั่ง if อีกครั้งเพื่อตรวจสอบว่า $isLoggedIn เป็น true หรือไม่ ถ้าเป็นจริง เราจะแสดงข้อความต้อนรับ

Truthy and Falsy Values

ใน PHP, ค่าบางค่าที่ไม่ใช่ boolean โดยตรง ก็สามารถถูกประเมินเป็น true หรือ false ในบริบทของเงื่อนไขได้ ค่าเหล่านี้เรียกว่า "truthy" และ "falsy" values

  • Falsy Values: ค่าที่ถูกประเมินเป็น false ได้แก่:
    • false
    • 0 (integer)
    • 0.0 (float)
    • "" (empty string)
    • null
    • Array ว่าง ([])
  • Truthy Values: ค่าอื่นๆ นอกเหนือจาก falsy values จะถูกประเมินเป็น true

ตัวอย่าง:

<?php
$name = "";

if ($name) {
  echo "สวัสดี, " . $name;
} else {
  echo "กรุณาใส่ชื่อของคุณ";
}
?>

ในตัวอย่างนี้ $name เป็น empty string ("") ซึ่งเป็น falsy value ดังนั้นโค้ดในบล็อก else จะถูก execute และข้อความ "กรุณาใส่ชื่อของคุณ" จะถูกแสดงผล

สรุป

คำสั่ง if, else, และ elseif เป็นเครื่องมือสำคัญในการควบคุมการทำงานของโปรแกรม PHP ช่วยให้โปรแกรมสามารถตัดสินใจและเลือกเส้นทางการทำงานที่เหมาะสมตามเงื่อนไขต่างๆ ที่กำหนด การเข้าใจและการใช้งานคำสั่งเหล่านี้อย่างถูกต้อง จะช่วยให้คุณสามารถสร้างโปรแกรมที่มีความยืดหยุ่นและมีประสิทธิภาพมากยิ่งขึ้น ในบทถัดไป เราจะเรียนรู้เกี่ยวกับคำสั่งควบคุมการทำงานอีกประเภทหนึ่งคือ switch case ซึ่งเหมาะสำหรับการตรวจสอบค่าของตัวแปรกับหลายๆ ค่าที่เป็นไปได้

Office.in.th Custom Service

Want to build or adapt a system from this structure?

Office.in.th designs and develops enterprise web applications, API integrations, and public- and private-sector management systems, with long-term support.

See our software development service