ไวยากรณ์พื้นฐาน PHP ตัวแปร เงื่อนไข วนซ้ำ ฟังก์ชัน — บทเรียนตอนที่ 2

ไวยากรณ์พื้นฐาน PHP ตัวแปร เงื่อนไข วนซ้ำ ฟังก์ชัน (บทเรียนตอนที่ 2)

ทีมงาน Pansaa · 15 Jul 2026 · อ่าน 10 นาที
Ad Zone · post-top (ตั้งค่า ADSENSE_CLIENT ใน .env)

ตอนที่ 2 ของบทเรียน PHP ว่าด้วยไวยากรณ์ที่ต้องใช้ทุกวัน ถ้าเข้าใจสี่เรื่องในตอนนี้ครบ จะเขียนโปรแกรมทั่วไปได้แล้ว

สิ่งที่จะได้จากตอนนี้ เขียนโปรแกรมที่มีการตัดสินใจ การทำซ้ำ และแยกงานเป็นส่วนย่อยได้

1. ตัวแปรและชนิดข้อมูล

1.1 การประกาศตัวแปร

<?php
$name  = "สมชาย";        // ข้อความ
$age   = 16;             // จำนวนเต็ม
$score = 78.5;           // ทศนิยม
$pass  = true;           // ค่าความจริง

กฎการตั้งชื่อตัวแปร

  • ขึ้นต้นด้วย $ เสมอ
  • ตัวแรกหลัง $ ต้องเป็นตัวอักษรหรือขีดล่าง ห้ามเป็นตัวเลข
  • ตัวพิมพ์ใหญ่เล็กมีผล $name กับ $Name คนละตัวกัน

1.2 ชนิดข้อมูลหลัก

ชนิดความหมายตัวอย่าง
stringข้อความ"สวัสดี"
intจำนวนเต็ม42
floatทศนิยม3.14
boolจริงหรือเท็จtrue
arrayชุดข้อมูลหลายค่า[1, 2, 3]
nullไม่มีค่าnull

1.3 การต่อข้อความ

<?php
$first = "สม";
$last  = "ชาย";

echo $first . $last;              // ใช้จุดต่อข้อความ
echo "ชื่อ: {$first}{$last}";      // แทรกตัวแปรในเครื่องหมายอัญประกาศคู่

ข้อควรจำ อัญประกาศคู่ " แทรกค่าตัวแปรได้ แต่อัญประกาศเดี่ยว ' ไม่แทรก จะแสดงชื่อตัวแปรออกมาตรง ๆ

2. ตัวดำเนินการและเงื่อนไข

2.1 ตัวดำเนินการเปรียบเทียบที่ต้องระวัง

ตัวดำเนินการความหมายตัวอย่างผลลัพธ์
==เท่ากันโดยไม่สนชนิด"5" == 5 เป็นจริง
===เท่ากันทั้งค่าและชนิด"5" === 5 เป็นเท็จ
!=ไม่เท่ากัน
!==ไม่เท่ากันทั้งค่าหรือชนิด

คำแนะนำสำคัญ ให้ใช้ === เป็นค่าเริ่มต้นเสมอ การใช้ == เป็นสาเหตุของข้อผิดพลาดที่หายากที่สุดชนิดหนึ่ง เพราะ PHP จะพยายามแปลงชนิดข้อมูลให้อัตโนมัติ

2.2 คำสั่งเงื่อนไข

<?php
$score = 78;

if ($score >= 80) {
    $grade = "ดีมาก";
} elseif ($score >= 70) {
    $grade = "ดี";
} elseif ($score >= 50) {
    $grade = "ผ่าน";
} else {
    $grade = "ต้องปรับปรุง";
}

echo "คะแนน {$score} ได้เกรด {$grade}";

3. การวนซ้ำ

3.1 for ใช้เมื่อรู้จำนวนรอบแน่นอน

<?php
for ($i = 1; $i <= 5; $i++) {
    echo "รอบที่ {$i}<br>";
}

3.2 while ใช้เมื่อยังไม่รู้จำนวนรอบ

<?php
$money = 100;
while ($money > 0) {
    $money -= 30;
}
echo "เหลือ {$money} บาท";

ข้อควรระวัง ต้องมีคำสั่งที่ทำให้เงื่อนไขเป็นเท็จได้ ไม่เช่นนั้นจะวนไม่รู้จบและทำให้เครื่องค้าง

3.3 foreach ใช้กับอาเรย์

<?php
$fruits = ["แอปเปิล", "กล้วย", "ส้ม"];

foreach ($fruits as $fruit) {
    echo "- {$fruit}<br>";
}
Ad Zone · post-inline (ตั้งค่า ADSENSE_CLIENT ใน .env)

4. อาเรย์

4.1 อาเรย์แบบลำดับ

<?php
$scores = [80, 75, 92];

echo $scores[0];        // 80 เพราะเริ่มนับจาก 0
echo count($scores);    // 3 คือจำนวนสมาชิก

4.2 อาเรย์แบบมีคีย์

<?php
$student = [
    "name"  => "สมหญิง",
    "age"   => 16,
    "grade" => "ม.4",
];

echo $student["name"];

foreach ($student as $key => $value) {
    echo "{$key}: {$value}<br>";
}

อาเรย์แบบมีคีย์คือรูปแบบที่ใช้บ่อยที่สุดในงานจริง เพราะข้อมูลจากฐานข้อมูลมักออกมาในรูปนี้

5. ฟังก์ชัน

5.1 การสร้างและเรียกใช้

<?php
function calculateGrade(float $score): string
{
    if ($score >= 80) return "ดีมาก";
    if ($score >= 70) return "ดี";
    if ($score >= 50) return "ผ่าน";
    return "ต้องปรับปรุง";
}

echo calculateGrade(85);   // ดีมาก
echo calculateGrade(65);   // ผ่าน

5.2 ส่วนประกอบของฟังก์ชัน

  • ชื่อฟังก์ชัน ควรเป็นคำกริยาที่บอกว่าทำอะไร
  • พารามิเตอร์ ข้อมูลที่ส่งเข้าไป ระบุชนิดได้ตั้งแต่ PHP 7
  • ชนิดค่าที่ส่งกลับ เขียนหลังเครื่องหมาย :
  • คำสั่ง return ส่งผลลัพธ์กลับและจบการทำงานทันที

5.3 เหตุผลที่ต้องใช้ฟังก์ชัน

  • เขียนครั้งเดียว เรียกใช้ได้หลายที่
  • แก้ที่เดียวมีผลทุกที่ที่เรียกใช้
  • อ่านง่ายกว่า เพราะชื่อฟังก์ชันบอกความหมายในตัว
  • ทดสอบแยกส่วนได้

สรุปสาระสำคัญ

  • ตัวแปร
    • ขึ้นต้นด้วย $ และตัวพิมพ์ใหญ่เล็กมีผล
    • ชนิดหลัก string int float bool array null
    • อัญประกาศคู่แทรกตัวแปรได้ เดี่ยวไม่ได้
  • เงื่อนไข
    • if elseif else
    • ใช้ === แทน == เพื่อเทียบชนิดข้อมูลด้วย
  • การวนซ้ำ
    • for เมื่อรู้จำนวนรอบ
    • while เมื่อไม่รู้จำนวนรอบ
    • foreach สำหรับอาเรย์
  • อาเรย์
    • แบบลำดับเริ่มนับที่ 0
    • แบบมีคีย์ใช้บ่อยที่สุดในงานจริง
  • ฟังก์ชัน
    • แยกงานเป็นส่วนย่อย นำกลับมาใช้ซ้ำได้
    • ระบุชนิดพารามิเตอร์และค่าส่งกลับได้

ตอนต่อไป การเชื่อมต่อฐานข้อมูลและคำสั่งบันทึก แสดง แก้ไข ลบข้อมูล

Ad Zone · post-bottom (ตั้งค่า ADSENSE_CLIENT ใน .env)

แชร์บทความนี้

Facebook X
Ad Zone · post-related (ตั้งค่า ADSENSE_CLIENT ใน .env)

สนใจทำเว็บไซต์ธุรกิจ?

ทีม Pansaa พร้อมให้คำปรึกษาฟรี ไม่มีค่าใช้จ่าย

ขอใบเสนอราคาฟรี