Control Structures: if, else, elseif ใน PHP
หลังจากที่เราได้เรียนรู้เกี่ยวกับ Operators ใน PHP ไปแล้ว ในบทนี้เราจะมาเรียนรู้เกี่ยวกับการควบคุมการทำงานของโปรแกรม หรือ Control Structures ซึ่งเป็นหัวใจสำคัญของการเขียนโปรแกรม เพราะมันช่วยให้เราสามารถกำหนดได้ว่าโค้ดส่วนไหนจะถูก execute เมื่อใด โดยเฉพาะอย่างยิ่ง `if`, `else`, และ `elseif` statements ที่เป็นพื้นฐานที่สุดและใช้กันอย่างแพร่หลาย
If Statement
`if` statement เป็น control structure ที่ง่ายที่สุด มันใช้สำหรับ execute โค้ดส่วนหนึ่งเมื่อเงื่อนไข (condition) ที่กำหนดเป็นจริง (true) รูปแบบการใช้งานพื้นฐานคือ:
if (condition) {
// โค้ดที่จะถูก execute ถ้า condition เป็น true
}
คำอธิบาย:
- `if` คือ keyword ที่บอกว่าเรากำลังใช้ `if` statement
- `condition` คือ expression ที่ถูกประเมินว่าเป็น `true` หรือ `false`
- `{}` (curly braces) คือ block ของโค้ดที่จะถูก execute ถ้า `condition` เป็น `true`
ตัวอย่าง:
$age = 20;
if ($age >= 18) {
echo "คุณมีสิทธิ์เข้าชมเว็บไซต์นี้";
}
ในตัวอย่างนี้ `$age >= 18` คือ condition ถ้า `$age` มีค่ามากกว่าหรือเท่ากับ 18 condition จะเป็น `true` และข้อความ "คุณมีสิทธิ์เข้าชมเว็บไซต์นี้" จะถูกแสดงผล
Else Statement
`else` statement ใช้ควบคู่กับ `if` statement เพื่อกำหนดโค้ดที่จะถูก execute เมื่อ condition ใน `if` statement เป็น `false` รูปแบบการใช้งานคือ:
if (condition) {
// โค้ดที่จะถูก execute ถ้า condition เป็น true
} else {
// โค้ดที่จะถูก execute ถ้า condition เป็น false
}
คำอธิบาย:
- `else` คือ keyword ที่บอกว่าเรากำลังใช้ `else` statement
- `{}` (curly braces) หลัง `else` คือ block ของโค้ดที่จะถูก execute ถ้า condition ใน `if` statement เป็น `false`
ตัวอย่าง:
$age = 15;
if ($age >= 18) {
echo "คุณมีสิทธิ์เข้าชมเว็บไซต์นี้";
} else {
echo "คุณยังไม่มีสิทธิ์เข้าชมเว็บไซต์นี้";
}
ในตัวอย่างนี้ ถ้า `$age` น้อยกว่า 18 condition `$age >= 18` จะเป็น `false` และข้อความ "คุณยังไม่มีสิทธิ์เข้าชมเว็บไซต์นี้" จะถูกแสดงผล
Elseif Statement
`elseif` statement (หรือ `else if` ก็ได้) ใช้เมื่อเราต้องการตรวจสอบหลาย conditions ต่อเนื่องกัน มันใช้ควบคู่กับ `if` และ `else` รูปแบบการใช้งานคือ:
if (condition1) {
// โค้ดที่จะถูก execute ถ้า condition1 เป็น true
} elseif (condition2) {
// โค้ดที่จะถูก execute ถ้า condition1 เป็น false และ condition2 เป็น true
} else {
// โค้ดที่จะถูก execute ถ้า condition1 และ condition2 เป็น false
}
คำอธิบาย:
- `elseif` คือ keyword ที่บอกว่าเรากำลังใช้ `elseif` statement
- เราสามารถมี `elseif` ได้หลายอันต่อกัน
- `else` (ถ้ามี) จะถูก execute เมื่อทุก `if` และ `elseif` conditions เป็น `false`
ตัวอย่าง:
$score = 75;
if ($score >= 80) {
echo "เกรด A";
} elseif ($score >= 70) {
echo "เกรด B";
} elseif ($score >= 60) {
echo "เกรด C";
} else {
echo "เกรด D";
}
ในตัวอย่างนี้ โปรแกรมจะตรวจสอบ score ตามลำดับ:
- ถ้า `$score` มากกว่าหรือเท่ากับ 80 จะแสดง "เกรด A"
- ถ้า `$score` ไม่ถึง 80 แต่มากกว่าหรือเท่ากับ 70 จะแสดง "เกรด B"
- ถ้า `$score` ไม่ถึง 70 แต่มากกว่าหรือเท่ากับ 60 จะแสดง "เกรด C"
- ถ้า `$score` ไม่ถึง 60 จะแสดง "เกรด D"
การใช้งานร่วมกับ Logical Operators
เรามักจะใช้ Logical Operators (`&&`, `||`, `!`) ร่วมกับ `if`, `else`, และ `elseif` เพื่อสร้างเงื่อนไขที่ซับซ้อนยิ่งขึ้น
ตัวอย่าง:
$age = 25;
$hasLicense = true;
if ($age >= 18 && $hasLicense) {
echo "คุณมีสิทธิ์ขับรถ";
} else {
echo "คุณไม่มีสิทธิ์ขับรถ";
}
ในตัวอย่างนี้ condition คือ `$age >= 18 && $hasLicense` ซึ่งจะ evaluate เป็น `true` ก็ต่อเมื่อทั้ง `$age` มากกว่าหรือเท่ากับ 18 *และ* `$hasLicense` เป็น `true`
Short Syntax (Alternative Syntax)
PHP มี syntax ทางเลือกสำหรับ `if`, `else`, และ `elseif` ที่ใช้ `:` แทน `{` และ `endif;`, `else;`, `elseif` แทน `}` syntax นี้มักใช้เมื่อรวมโค้ด PHP เข้ากับ HTML เพื่อให้อ่านง่ายขึ้น
ตัวอย่าง:
$isLoggedIn = true;
?>
<?php if ($isLoggedIn): ?>
<p>ยินดีต้อนรับผู้ใช้!</p>
<?php else: ?>
<p>กรุณาเข้าสู่ระบบ</p>
<?php endif; ?>
Syntax นี้เทียบเท่ากับ:
$isLoggedIn = true;
?>
<?php
if ($isLoggedIn) {
echo "<p>ยินดีต้อนรับผู้ใช้!</p>";
} else {
echo "<p>กรุณาเข้าสู่ระบบ</p>";
}
?>
ถึงแม้ว่า syntax ทางเลือกนี้จะช่วยให้อ่านโค้ดได้ง่ายขึ้นในบางสถานการณ์ แต่การใช้ syntax แบบมาตรฐาน (`{}`) ก็เป็นที่นิยมมากกว่าในโปรเจกต์ขนาดใหญ่ เพราะมันช่วยให้โค้ดมีความสอดคล้องกันและง่ายต่อการบำรุงรักษา
สรุป
`if`, `else`, และ `elseif` statements เป็นเครื่องมือที่สำคัญในการควบคุมการทำงานของโปรแกรม PHP การเข้าใจวิธีการใช้งานและรวมเข้ากับ Logical Operators จะช่วยให้คุณเขียนโปรแกรมที่ซับซ้อนและยืดหยุ่นได้มากขึ้น ในบทต่อไป เราจะเรียนรู้เกี่ยวกับ Loops ซึ่งเป็น control structure อีกประเภทหนึ่งที่ใช้สำหรับการทำซ้ำโค้ด