if, elseif และ else
ตัดสินใจใน PHP ด้วยการแตกแขนงตามเงื่อนไข
if, elseif และ else เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน
ตรรกะเงื่อนไขใน PHP
คำสั่งเงื่อนไขช่วยให้โปรแกรมตัดสินใจได้ PHP มี if, elseif และ else สำหรับการแบ่งแขนงตรรกะ
เงื่อนไขภายใน if () จะถูกประเมินเป็นค่าบูลีน หากเป็นค่าที่ถือว่าเป็นจริง โปรแกรมจะทำงานในบล็อกนั้น หากเป็นค่าที่ถือว่าเป็นเท็จ โปรแกรมจะข้ามบล็อกนั้น
คำสั่ง if พื้นฐาน
เงื่อนไขที่เรียบง่ายที่สุด คือทำงานเฉพาะเมื่อเงื่อนไขเป็นจริง:
<?php
$age = 20;
if ($age >= 18) {
echo 'Adult';
}
// Output: Adultif / else
เพิ่มแขนง else สำหรับกรณีที่เงื่อนไขเป็นเท็จ:
<?php
$score = 45;
if ($score >= 50) {
echo 'Pass';
} else {
echo 'Fail'; // runs
}สายโซ่ elseif
ทดสอบหลายเงื่อนไขตามลำดับด้วย elseif:
<?php
$grade = 78;
if ($grade >= 90) {
echo 'A';
} elseif ($grade >= 80) {
echo 'B';
} elseif ($grade >= 70) {
echo 'C'; // runs
} else {
echo 'F';
}ตัวดำเนินการเปรียบเทียบ
ตัวดำเนินการที่ใช้ในเงื่อนไข:
==เท่ากัน (แบบไม่เคร่งครัด)===เหมือนกันทุกประการ (แบบเคร่งครัด)!=ไม่เท่ากัน<>น้อยกว่า/มากกว่า<=>=น้อยกว่าหรือเท่ากับ/มากกว่าหรือเท่ากับ
ควรเลือกใช้ === เพื่อหลีกเลี่ยงผลลัพธ์ที่ไม่คาดคิดจากการแปลงชนิดข้อมูลอัตโนมัติ
ตัวดำเนินการทางตรรกะ
รวมเงื่อนไขเข้าด้วยกันด้วยตัวดำเนินการทางตรรกะ:
<?php
$age = 25;
$member = true;
if ($age >= 18 && $member) {
echo 'Access granted'; // both true
}
if ($age < 18 || $member) {
echo 'Also granted'; // one is true
}
if (!$member) {
echo 'Not a member';
}ตัวดำเนินการสามส่วน
ตัวดำเนินการสามส่วนเป็นการเขียน if/else แบบบรรทัดเดียวที่กระชับสำหรับกรณีง่าย ๆ:
<?php
$age = 20;
$status = ($age >= 18) ? 'adult' : 'minor';
echo $status; // adult
// Null coalescing operator ?? (PHP 7+)
$name = $_GET['name'] ?? 'Guest';
echo $name; // 'Guest' if name not in URLการกำหนดค่าแบบรวมค่าที่ไม่มี
PHP 7.4 เพิ่ม ??= เพื่อกำหนดค่าเริ่มต้นเฉพาะเมื่อตัวแปรไม่มีค่าหรือยังไม่ได้กำหนดค่า:
<?php
$config = [];
$config['debug'] ??= false;
$config['timeout'] ??= 30;
var_dump($config);
// ['debug' => false, 'timeout' => 30]ไวยากรณ์ if รูปแบบอื่น
PHP รองรับไวยากรณ์โคลอนรูปแบบอื่นสำหรับใช้ภายในแม่แบบ HTML:
<?php $loggedIn = true; ?>
<?php if ($loggedIn): ?>
<p>Welcome back!</p>
<?php else: ?>
<p>Please log in.</p>
<?php endif; ?>ตัวดำเนินการยานอวกาศ
ตัวดำเนินการยานอวกาศ <=> เปรียบเทียบสองค่าและคืนค่า -1, 0 หรือ 1 จึงเหมาะอย่างยิ่งสำหรับการเรียงลำดับ:
<?php
echo 1 <=> 2; // -1 (left is less)
echo 2 <=> 2; // 0 (equal)
echo 3 <=> 2; // 1 (left is greater)
$nums = [3, 1, 4, 1, 5];
usort($nums, fn($a, $b) => $a <=> $b);
print_r($nums); // [1, 1, 3, 4, 5]match เทียบกับ if
match ใน PHP 8 เป็นทางเลือกที่เคร่งครัดกว่าสำหรับสายโซ่ if/elseif ที่ยาว คุณจะได้เรียนรู้เรื่องนี้ในบทเรียนถัดไป ความแตกต่างสำคัญจาก if คือ match ใช้การเปรียบเทียบแบบเคร่งครัดและไม่มีการแปลงชนิดข้อมูลอัตโนมัติ
ตรวจสอบความเข้าใจ
ตัวดำเนินการ ?? ทำหน้าที่อะไร
สรุป: if/elseif/else
ประเด็นสำคัญ:
- ใช้
if,elseif,elseเพื่อแบ่งแขนงตรรกะ - ควรเลือกใช้
===แทน==เพื่อหลีกเลี่ยงการแปลงชนิดข้อมูลอัตโนมัติ - ใช้สามส่วน
?:สำหรับแขนงที่เป็นนิพจน์เดี่ยวแบบกระชับ - ใช้
??สำหรับค่าเริ่มต้นแบบรวมค่าที่ไม่มี - ใช้ไวยากรณ์โคลอนรูปแบบอื่นสำหรับแม่แบบ HTML
ถัดไป: คำสั่ง switch และ match
คำถามที่พบบ่อย
บทเรียน “if, elseif และ else” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “if, elseif และ else” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “if, elseif และ else”
ตัดสินใจใน PHP ด้วยการแตกแขนงตามเงื่อนไข คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “if, elseif และ else” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม
ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- if, elseif และ else
- คำสั่ง Switch และ Match
- ลูป for และ while
- foreach และการควบคุมลูป