ภาษา PHP เบื้องต้น (1) คำสั่งพื้นฐาน

Web Development 22 มิถุนายน พ.ศ. 2566 357
Home / Articles / 54

ในบทความนี้ผมจะมาแนะนำการเขียนโปรแกรมเว็บด้วยภาษา PHP หากเพื่อนๆ ที่ได้ศึกษา HTML, CSS มาบ้างแล้ว จะพบว่า HTML และ CSS เป็นเพียงแค่การจัดโครงสร้างของหน้าเว็บเท่านั้น การจะทำระบบต่างๆ จึงจะต้องใช้ภาษาที่ทำงานบนเซิร์ฟเวอร์แล้วส่งผลลัพท์เป็น HTML ให้ลูกข่าย เราจะเรียกการประมวลผลแบบนี้ว่า การประมวลผลฝั่ง "Server-Side" คือ ประมวลผลก่อน เมื่อเสร็จ จึงส่งให้ลูกข่าย

PHP จะทำงานในฝั่งของ Server แล้วส่งข้อมูลเป็นหน้าเว็บ HTML กลับมาที่ลูกข่าย นั่นหมายความว่า PHP จะไม่ได้ทำงานโดยตรงบนเบราว์เซอร์ของลูกข่าย (Client) ทำให้ลักษณะของเว็บที่สร้างด้วย PHP จะเป็นแบบ "Static Page" คือ จะเป็นหน้าเว็บแบบคงที่ ลูกข่ายส่งคำขอ เซิร์ฟเวอร์ตอบกลับเป็น HTML แล้วก็จะหยุดการสื่อสารกันจนกว่าจะมีคำขอใหม่

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

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

$a = "Hello"; //โปรแกรมก็จะรู้ว่าเป็นตัวแปรประเภท String หรือตัวอักษร
$b = 5; //โปรแกรมก็จะรู้ว่าเป็นตัวแปรประเภทตัวเลข
$c = array("a", "b", "c"); //โปรแกรมก็จะรู้ว่าเป็น Array ที่มีข้อมูลเป็น String
$d = array(1,2,3); //โปรแกรมก็จะรู้ว่าเป็น Array ที่มีข้อมูลเป็นตัวเลข

การแสดงข้อมูล (Echo, Print, Printf)

สมมุติว่าเราต้องการแสดงค่าต่างๆ ลงบนหน้าเว็บ จะมีคำสั่งหลายคำสั่ง ดังนี้

echo "Hello World"; //แสดงตัวอักษร
echo "Number is $a"; //แสดงตัวอักษรพร้อมกับค่าจากตัวแปร
print("Hello World"); //แสดงตัวอักษร
printf("Number is %u", $a); //แสดงตัวอักษรพร้อมกับแทรกตัวแปรตัวเลข

ซึ่ง %u เรียกว่าเป็น format ของข้อมูลในตัวอย่างของผมนั้น เป็นการบอกตำแหน่งและประเภทของตัวแปรที่จะแทรกเข้าไป นั้นก็คือ $a ใน function ของ printf นั้นมี format หลายประเภท เช่น

  • %s หมายถึง String หรือชุดตัวอักษร
  • %u หมายถึง จำนวนเต็มบวก
  • %f หมายถึง จำนวนที่มีค่าทศนิยม
  • %d หมายถึง ตัวเลขตั้งแต่ติดลบจนถึงบวก
  • %c หมายถึง ตัวอักษรใดๆ (ที่อยู่ในตาราง ASCII)

การสร้างเงื่อนไข (Condition)

ใน PHP นั้นมีเงื่อนไข if เช่นเดียวกับภาษาอื่น โดยมีตัวอย่างดังนี้

if($a > $b) {
   //ทำงานเมื่อ $a มากกว่า $b
}
if($a < $b) {
   //ทำงานเมื่อ $a น้อยกว่า $b
}
if($a != $b) {
   //ทำงานเมื่อ $a มีค่าไม่เท่ากับ $b
}
if($a == $b && $b == $c) {
   //ทำงานเมื่อ $a มีค่าเท่ากับ $b และ $b มีค่าเท่ากับ $c
}
if($a >= $b) {
   //ทำงานเมื่อ $a มากกว่าหรือเท่ากับ $b
}
if($a <= $b) {
   //ทำงานเมื่อ $a น้อยกว่าหรือเท่ากับ $b
}
if($a === $b) {
   //ทำงานเมื่อ $a มีค่าเท่ากับ $b และเป็นตัวแปรประเภทเดียวกับ $b
}
if($a == $b || $b == $c) {
   //ทำงานเมื่อ $a มีค่าเท่ากับ $b หรือ $b มีค่าเท่ากับ $c
}
if($a == $b && $b == $c) {
   //ทำงานเมื่อ $a มีค่าเท่ากับ $b และ $b มีค่าเท่ากับ $c
}

หรือสามารถทำเงื่อนไขที่ต่อเนื่องกัน ดังนี้

if($a == $b) {
    //ทำงานเมื่อ $a เท่ากับ $b
} elseif($b == $c) {
    //ทำงานเมื่อไม่เข้าเงื่อนไขข้างบน โดยที่ $b เท่ากับ $c
} else {
    //ทำงานเมื่อไม่อยู่ในเงื่อนไขทั้งสอง
}

ตัวดำเนินการ (Operator)

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

if($a > 10) {
    $a -= 1; //เมื่อ $a มีค่าน้อยกว่า 10 ให้ดำเนินการโดยกำหนดค่าใหม่ให้ $a = $a - 1
} else {
    $a += 1; //หากไม่เป็นดังเงื่อนไขข้างต้น ให้กำหนดค่าใหม่ให้ $a = $a + 1
}
เครื่องหมาย ความหมาย
$a = $b $a = $b
$a += $b $a = $a + $b
$a *= $b $a = $a * $b
$a /= $b $a = $a / $b

การทำซ้ำ (Loop)

เช่นเดียวกับภาษาอื่น ภาษา PHP มีการทำซ้ำหลายประเภทได้แก่

For การทำซ้ำแบบคงที่ ตามเงื่อนไข ตัวอย่าง

for ($i = 0; $i <= 10; $i++) {
    //ทำงานจนกว่า $i จะมากกว่าหรือเท่ากับ 10 และเพิ่มค่า $i + 1 ในแต่ละรอบ
}

While การทำซ้ำต่อเมื่อเงื่อนไขเป็นจริง ตัวอย่างผมจะใช้เงื่อนไขระหว่าง $i และ 10 ความเป็นจริงสามารถใช้เงื่อนไขอะไรกับตัวแปรอะไรก็ได้ สำหรับ While Loop ไม่จำเป็นต้องเป็นการนับรอบเสมอไป

$i = 1;

while($i <= 10) {
    //ทำงานวนซ้ำจนกว่า $i จะมากกว่า 10
    echo "Hello World.";
    $i++; //เพิ่มจำนวน $i ในทุกรอบของการวนซ้ำ
}

สร้าง Functions

ใน PHP เราสามารถสร้าง function ได้ ดังนี้

function subtract() {
    echo 10 - 5;
}

function plus($a, $b) {
    echo $a + $b;
}

function multiply($a,$b) {
    return $a * $b;
}

subtract(); //5
plus(15,5); //20
echo multiply(5,5); //25

จากตัวอย่าง

subtract() เป็น function ที่ไม่มีการรับค่า และไม่มีการส่งค่ากลับ (return)

plus() เป็น function ที่มีการรับค่า แต่ไม่มีการส่งค่ากลับ

ส่วน multiply() มีการรับค่าและส่งค่ากลับ

อ้างอิง: w3schools.com

Profile Picture.
  • Name (Pen name): Sunny Jirakit (Sunny420x)
  • Study: Bachelor Degree of Computer Science from Chiang Mai Rajabhat University
  • Personality: Architect (INTJ-T)
  • Experience: JavaScript,  Angular.js, React.js, Next.js  Express.js, Unity C#, Socket.io