0Pricing
PHP Academy · บทเรียน

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: Adult

if / 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. if, elseif และ else
  2. คำสั่ง Switch และ Match
  3. ลูป for และ while
  4. foreach และการควบคุมลูป
← กลับไปที่ PHP Academy