ไวยากรณ์พื้นฐาน 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)
Ad Zone · post-related (ตั้งค่า ADSENSE_CLIENT ใน .env)