ในครั้งก่อนผมได้ทำบทความเกี่ยวกับ PHP นั่นก็คือ มาเริ่มเรียนเขียนโปรแกรมด้วยภาษา PHP กันเถอะ (PHP for Beginners) ซึ่งจะแตกต่างจากบทความนี้ตรงที่ บทความนี้จะเน้นแทบทุกเรื่องที่ต้องใช้ใน PHP โดยบทความที่ผมเขียนก่อนหน้า อาจจะข้ามหลายๆ เรื่องไป แต่บทความนี้จะเจาะลึกมากกว่าบทความก่อนหน้า ต้องขอออกตัวก่อนว่า ผมพึ่งจะเริ่มหัดเขียน PHP ได้ไม่นานเท่าไหร่ แต่ผมจะพยายามที่จะเขียนบทความนี้ให้ครบทุกเรื่องที่เกี่ยวข้องกับ PHP และอธิบายให้เข้าใจง่ายมากที่สุด
Introduction
มารู้จัก PHP เพิ่มอีกสักนิด PHP คือ server-side scripting ที่ออกแบบมาสำหรับการใช้งานบนเว็บ หมายความว่า มันถูกออกแบบมาสำหรับการทำงานที่ฝั่ง Server ซึ่งหากใครที่เริ่มทำเว็บมาบ้างจะได้ยินคำว่า Server Side และ Client Side อยู่บ่อยๆ
Pre-requisites
ก่อนจะไปเริ่มต้นเขียน PHP กัน เราจะเป็นที่จะต้องติดตั้ง PHP ไว้ในเครื่องก่อน ซึ่งผมก็มีการติดตั้งอยู่หลากหลายแบบด้วยกัน เริ่มตั้งแต่
ติดตั้ง PHP
- ใช้งานบน Docker ซึ่งผมได้ทำเป็นบทความละ การติดตั้งและใช้งาน PHP Apache และ MySQL ด้วย Docker Compose
- หรือจะรันแบบคำสั่งเดียว ใช้ได้เลยก็ รัน PHP Project ฉบับโคตรเร็วด้วย PHP CLI
หรือจะโปรแกรมที่มัดรวมทุกอย่างมาให้แล้วก็
ติดตั้ง Editor
Editor ใครจะใช้อันไหนก็ตามสะดวกเลยนะ ถ้าเตรียมเครื่องมือทุกอย่างพร้อมแล้ว ก็ไปเริ่มต้นเขียน PHP กันเลย
Echo
ก่อนจะไปเรื่องอื่น เราลองมาแสดงค่าอะไรบางอย่างออกทางหน้าจอกันก่อน เพื่อเช็คว่า PHP สามารถทำงานได้ โดยเราจะใช้คำสั่ง echo
ในการแสดงค่าออกทางหน้าจอ
แต่ก่อนที่เราจะใช้คำสั่ง เราจำเป็นที่จำต้องเปิด tag <?php
ขึ้นมาก่อน เพื่อที่จะบอกว่า ต้องส่วนนี้คือส่วนที่เป็นภาษา PHP และปิด tag ด้วย ?>
เมื่อจบคำสั่ง PHP มาลองดูกัน
ผมจะทำการสร้าง folder สำหรับ Project PHP แล้ว สร้างไฟล์ index.php
ขึ้นมา และเขียนคำสั่ง echo
ดังนี้
จากนั้นผมจะเปิด Terminal ขึ้นมา แล้วใช้คำสั่ง php -S localhost:8000
เพื่อที่จะรัน PHP Server ขึ้นมา (สามารถดูรายละเอียดได้ที่ รัน PHP Project ฉบับโคตรเร็วด้วย PHP CLI)
แล้วเปิด Browser ขึ้นมา แล้วพิมพ์ localhost:8000
ลงไป จะได้ผลลัพธ์ดังนี้
วิธีการรันไฟล์ก็อยู่ที่เครื่องมือที่ท่านใช้เลยนะ หลายท่านอาจจะไม่ได้ใช้ PHP CLI เหมือนกับผม วิธีการจะแตกต่างกันไป แต่หลักๆ ก็คือ ต้องมี Server ที่รองรับ PHP ให้ทำงาน และเปิดไฟล์ index.php
ขึ้นมาให้เรา จะใช้เครื่องมือไหน ก็ตามสะดวกเลย
Variables
ไม่ว่าจะเริ่มต้นเรียนเขียนภาษาไหน ตัวแรกสุดที่ต้องรู้ก็คือการประกาศตัวแปร ซึ่งใน PHP จะใช้ $
นำหน้าตัวแปรที่เราต้องการจะประกาศ
เช่น
เราสามารถสามารถใช้ echo
ในการแสดงผลตัวแปรได้เช่นกัน
Data Types
ใน PHP มี 8 ชนิดของ Data Type ที่เราสามารถใช้งานได้ ได้แก่
- String
- Integer
- Float
- Boolean
- Array
- Object
- Null
- Resource
String
String คือ ข้อความ ซึ่งเราสามารถประกาศได้โดยใช้ ''
หรือ ""
ก็ได้
ซึ่งความแตกต่างของ ''
กับ ""
คือ ใน ''
จะไม่สามารถใช้ตัวแปรได้ แต่ใน ""
สามารถใช้ตัวแปรได้
Integer
Integer คือ จำนวนเต็ม ซึ่งเราสามารถประกาศได้โดยใช้ตัวเลขเท่านั้น โดยจะเป็นจำนวนเต็มบวกหรือลบก็ได้
Float
Float คือ จำนวนทศนิยม ซึ่งเราสามารถประกาศได้โดยใช้ตัวเลขเท่านั้น โดยจะเป็นจำนวนเต็มบวกหรือลบก็ได้
Boolean
Boolean คือ ค่าที่มีค่าเป็น true
หรือ false
เท่านั้น
Array
Array คือ ตัวแปรที่สามารถเก็บข้อมูลหลายๆ ค่าได้ ซึ่งเราสามารถประกาศได้ 2 แบบ คือ
- แบบแรก ใช้
array()
ในการประกาศ
- แบบที่สอง ใช้
[]
ในการประกาศ
เราจะจะใช้ print_r()
เพื่อดูข้อมูลใน Array ว่ามีอะไรบ้าง
หรือจะใช้ var_dump()
ก็ได้เหมือนกัน
เราสามารถเข้าถึงข้อมูลใน Array ได้โดยการใช้ []
และใส่ index ของข้อมูลที่เราต้องการเข้าถึง
เราสามารถเก็บข้อมูลต่างชนิดกันได้ใน Array ได้
Associative Array
Associative Array คือ ตัวแปรที่สามารถเก็บข้อมูลหลายๆ ค่าได้ แต่จะเก็บข้อมูลแบบ key-value ซึ่งเราสามารถประกาศได้โดยใช้ array()
และใส่ key และ value ของข้อมูลที่เราต้องการเก็บ
เราสามารถเข้าถึงข้อมูลใน Associative Array ได้โดยการใช้ []
และใส่ key ของข้อมูลที่เราต้องการเข้าถึง
เราสามารถเพิ่มข้อมูลใหม่เข้าไปใน Associative Array ได้โดยการใช้ []
และใส่ key ของข้อมูลที่เราต้องการเพิ่ม
หรือจะแก้ไขข้อมูลใน Associative Array ได้โดยการใช้ []
และใส่ key ของข้อมูลที่เราต้องการแก้ไข
Object
Object คือ ตัวแปรที่สามารถเก็บข้อมูลหลายๆ ค่าได้ ซึ่งเราสามารถประกาศได้โดยใช้ new
และชื่อคลาส
เราสามารถเข้าถึงข้อมูลใน Object ได้โดยการใช้ ->
และชื่อของ property ที่เราต้องการเข้าถึง
Null
Null คือ ค่าที่ไม่มีค่า ซึ่งเราสามารถประกาศได้โดยใช้ null
Null เป็น Case insensitive ซึ่งหมายความว่า NULL
กับ null
จะถือว่าเป็นค่าเดียวกัน
Resource
Operator
Operator คือ ตัวดำเนินการ ซึ่งเราสามารถใช้ตัวดำเนินการเพื่อเปลี่ยนแปลงค่าของตัวแปรได้ โดยมีตัวดำเนินการทั้งหมด 4 ประเภท ได้แก่
- Arithmetic Operator
- Assignment Operator
- Comparison Operator
- Logical Operator
Arithmetic Operator
Arithmetic Operator คือ ตัวดำเนินการที่ใช้ในการคำนวณค่าตัวเลข โดยมีตัวดำเนินการทั้งหมด 5 ตัว ได้แก่
+
บวก-
ลบ*
คูณ**
ยกกำลัง/
หาร%
หารเอาเศษ
Assignment Operator
Assignment Operator คือ ตัวดำเนินการที่ใช้ในการกำหนดค่าให้กับตัวแปร โดยมีตัวดำเนินการทั้งหมด 5 ตัว ได้แก่
=
กำหนดค่า+=
บวกแล้วกำหนดค่า-=
ลบแล้วกำหนดค่า*=
คูณแล้วกำหนดค่า/=
หารแล้วกำหนดค่า%=
หารเอาเศษแล้วกำหนดค่า
Comparison Operator
Comparison Operator คือ ตัวดำเนินการที่ใช้ในการเปรียบเทียบค่า โดยมีตัวดำเนินการทั้งหมด 6 ตัว ได้แก่
==
เท่ากับ===
เท่ากับและเป็นชนิดเดียวกัน!=
ไม่เท่ากับ!==
ไม่เท่ากับและไม่เป็นชนิดเดียวกัน>
มากกว่า<
น้อยกว่า>=
มากกว่าหรือเท่ากับ<=
น้อยกว่าหรือเท่ากับ
ความแตกต่างระหว่าง ==
กับ ===
คือ ==
จะเปรียบเทียบค่าเท่ากัน แต่ ===
จะเปรียบเทียบค่าเท่ากันและเป็นชนิดเดียวกัน
Logical Operator
Logical Operator คือ ตัวดำเนินการที่ใช้ในการเปรียบเทียบค่า โดยมีตัวดำเนินการทั้งหมด 3 ตัว ได้แก่
&&
ความหมายคือ และ โดยจะเป็นจริงเมื่อทั้งสองเงื่อนไขเป็นจริง||
หรือor
ความหมายคือ หรือ โดยจะเป็นจริงเมื่ออย่างน้อยหนึ่งเงื่อนไขเป็นจริง!
ความหมายคือ ไม่เท่ากับ จะเป็นจริงเมื่อเงื่อนไขเป็นเท็จxor
จะคล้ายๆ กับหรือ แต่จะแตกต่างกันตรง จะเป็นจริงเมื่อเงื่อนไขเป็นจริงเพียงอย่างเดียว
Conditionals
Conditionals คือ เงื่อนไขในการทำงานของโปรแกรม
If , Else if , Else
การทำงานของ If ก็คือจะทำงานใน block if ถ้าเงื่อนไขนั้นเป็นจริง แต่ถ้าเงื่อนไขเป็นเท็จ จะทำงานใน block else แทน
ถ้าต้องการเพิ่มเงื่อนไข สามารถใช้ else if ได้
Switch
Switch จะคล้ายกับ If แต่จะเขียนในลักษณะเป็น case แทน ซึ่งถ้าเข้าเงื่อนไขไหน ก็จะทำงานใน case นั้น
Ternary Operator
Ternary Operator คือ If แบบลดรูป โดยจะเขียนเป็น condition ? true : false
คือ ถ้าเงื่อนไขเป็นจริง จะทำงานใน block true แต่ถ้าเงื่อนไขเป็นเท็จ จะทำงานใน block false
Loop
Loop คือ การทำงานซ้ำๆ จนกว่าเงื่อนไขจะเป็นเท็จ โดยมี 3 ประเภทคือ
for
จะทำงานก่อน แล้วจึงตรวจสอบเงื่อนไขwhile
จะตรวจสอบเงื่อนไขก่อน แล้วจึงทำงานdo while
จะทำงานก่อน 1 ครั้ง แล้วจึงตรวจสอบเงื่อนไข
For
While
Do While
Foreach
Foreach จะใช้กับ Array โดยจะทำงานตามจำนวนของ Array ที่เรากำหนด
เราสามารถใช้ Foreach กับ Array ที่มี Key ได้ด้วย
Exercise
หลังจากที่เราได้เรียนรู้หลายๆ เรื่องไปแล้ว มาลองทำแบบฝึกหัดกันดูกันบ้าง
Break and Continue
Break
Break จะใช้ในการหยุดการทำงานของ Loop
ตัวอย่าง ต้องการให้หยุดการทำงานเมื่อ i เท่ากับ 5
Continue
Continue จะใช้ในการข้ามการทำงานของ Loop ไปยัง Loop ถัดไป
ตัวอย่าง ต้องการให้ข้ามการทำงานเมื่อ i เท่ากับ 5
Add PHP Loop and Condition to HTML
หลังจากที่เราได้เรียนเรื่อง Loop มาบ้างแล้ว ทีนี้เราลองนำมันมาแสดงผลบน HTML กันดูบ้าง (ผมจะคิดไปเองว่าท่านเข้าใจ HTML อยู่แล้ว 😁)
โดยเราจะเริ่มสร้างโครง HTML กันก่อน
จากนั้นเราจะแทรก PHP ลงไปในส่วนของ Body
หรือจะ Loop แบบนี้ก็ได้
เปิด Browser แล้วเราจะเห็นผลลัพธ์ดังนี้