คำสั่งควบคุมการทำงาน: 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ได้แก่:false0(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 ซึ่งเหมาะสำหรับการตรวจสอบค่าของตัวแปรกับหลายๆ ค่าที่เป็นไปได้