ในบทความนี้ผมจะมาแนะนำการเขียนโปรแกรมเว็บด้วยภาษา 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 "Hello World"; //แสดงตัวอักษร
echo "Number is $a"; //แสดงตัวอักษรพร้อมกับค่าจากตัวแปร
print("Hello World"); //แสดงตัวอักษร
printf("Number is %u", $a); //แสดงตัวอักษรพร้อมกับแทรกตัวแปรตัวเลข
ซึ่ง %u เรียกว่าเป็น format ของข้อมูลในตัวอย่างของผมนั้น เป็นการบอกตำแหน่งและประเภทของตัวแปรที่จะแทรกเข้าไป นั้นก็คือ $a ใน function ของ printf นั้นมี format หลายประเภท เช่น
ใน 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 {
//ทำงานเมื่อไม่อยู่ในเงื่อนไขทั้งสอง
}
หากเราสร้างเงื่อนไข และต้องการจะดำเนินการกับตัวแปรต่างๆ เช่น บวก ลบ คูณ หาร สามารถทำได้ดังนี้
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 |
เช่นเดียวกับภาษาอื่น ภาษา 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 ในทุกรอบของการวนซ้ำ
}
ใน 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
