2.6 ตัวแปร (Variables) ชนิดข้อมูล (Data Type) เเละค่าคงที่ (Constant)
2.6.1 ตัวเเปร(Variables)
ตัวแปร คือ ชื่อที่กำหนดขึ้นสำหรับเก็บข้อมูล ถ้าหากระบบต้องการเก็บข้อมูล ที่รับเข้าจากอินพุตต่าง ๆ หรือต้องการเก็บข้อมูลโดยค่านั้นสามารถเปลี่ยนแปลงค่าได้ ต้องจองพื้นที่หน่วยความจำของคอมพิวเตอร์สำหรับเก็บข้อมูล โดยชื่อตัวแปรเป็นตัวแทนตำแหน่งของหน่วยความจำที่จองขึ้นเนื่องจากการเก็บข้อมูลแต่ละชนิดจะใช้เนื้อหาที่หน่วยความจำไม่เท่ากัน การกำหนดตัวแปรแต่ละตัวจะต้องกำหนดด้วยว่าให้ตัวแปรนั้นเก็บข้อมูลชนิดใด
2.6.1.1 การประกาศตัวแปร
การประกาศตัวแปรเป็นการกําหนดชื่อเพื่ออ้างอิงถึงข้อมูลต่าง ๆ ในหน่วยความจํา โดยมี กฎเกณฑ์ในการกําหนดชื่อตัวแปร ดังนี้
การกําหนดชื่อสําหรับตัวแปรหรือฟังก์ชันในแต่ละภาษาจะมีวิธีกําหนดชื่อที่ใช้ตั้งตัวแปร หรือฟังก์ชันและคําสั่งต่าง ๆ สําหรับภาษา PHP มีกฏเกณฑ์การกําหนดชื่อดังนี้
1. ชื่อตัวแปรในภาษา PHP การใช้ชื่อตัวแปรจะนําหน้าชื่อด้วยเครื่องหมาย s (dollar sign) ตามด้วยชื่อ identifier) ตัวอย่างชื่อตัวแปร ได้แก่ $userName , $_lastLogin, $nameMD5
2. ชื่อ (identifier) รูปแบบทั่วไปของการตั้งชื่อ ได้แก่ [a-Z, A-Z, 0-9, . \x7f-\xff
3. ขึ้นต้นด้วยตัวอักษรภาษาอังกฤษตัวใหญ่หรือตัวเล็กหรือขีดล่าง (underscore) หรือ อักขระตั้งแต่หมายเลข 127-255 (X7F - xFF) หมายความว่าสามารถใช้ชื่อตัวแปรหรือฟังก์ชัน เป็นรหัสภาษาไทยได้ (ภาษา PHP ยังใช้รหัสแทนอักขระต่างๆ แบบ 8 บิตเป็น ASCII หรือรหัส ประจําท้องถิ่นที่ไม่ใช่ Unicode)
4. ตัวต่อไปอาจเป็นตัวอักษรตัวเลขขีดล่างและอักขระหมายเลข 127-255
5. ไม่สามารถคั่นด้วยเว้นวรรคได้
6. ตัวอักษรภาษาอังกฤษตัวใหญ่หรือตัวเล็กถือว่าเป็นคนละตัวกัน (Case-sensitive) ดังนั้น ชื่อserName และชื่อ UserName หรือ USERNAME จะถือว่าเป็นคนละชื่อกัน
7. ไม่มีข้อจํากัดด้านความยาวของชื่อ
8. ต้องไม่ซ้ำกับ Reserved word ของภาษา PHP
ตัวอย่างชื่อที่ถูกต้อง
Score, userAccount, address01, วันที่ป้อน, last modied_date, validAccount
2004version (ไม่สามารถใช้ตัวเลขนําหน้า)
user name (ไม่สามารถใช้เว้นวรรคคั่นในชื่อ)
pass-code (ไม่สามารถใช้ - ได้หากต้องการคนระหว่างคําให้ใช้ _ )
1024 - 200 (ไม่สามารถใช้ตัวเลขนําหน้าและมีิ - คั่นในชื่อ)
<Secret name>(ไม่สามารถใช้อักขระอื่น ๆ เช่น <หรือ> ในชื่อได้)
2.6.1.2 ข้อแนะนำสำหรับการตั้งชื่อโดยทั่วไป
1. ควรตั้งชื่อให้สื่อกับความหมายของข้อมูลที่จะจัดเก็บ เช่น StitleName เพื่อเก็บข้อความ ที่เป็น title, $userID เพื่อเก็บชื่อประจําตัวของผู้ใช้ เป็นต้น
2. ไม่ควรตั้งชื่อยาวจนเกินไป (ปกติไม่ควรยาวกว่า 32 อักขระ) แม้ว่าภาษา PHP จะ ไม่กําหนดความยาวสูงสุดของชื่อ แต่การตั้งชื่อยาวเกินไปจะทําให้ source code ใหญ่ขึ้นและมี โอกาสเสี่ยงต่อการสะกดผิดหรือสะกดไม่เหมือนกันได้
3. เนื่องจากไม่สามารถใช้เครื่องหมายเว้นวรรคในชื่อได้ ดังนั้นหากจะตั้งชื่อหลายคําใน ภาษาอังกฤษมีวิธีที่นิยมกัน ได้แก่ การใช้ขีดล่างแทนเว้นวรรค เช่น $total_tax, sdoc password เป็นต้น ใช้อักษรตัวใหญ่ขึ้นต้นคํา เช่น $totalTax , $docPassword เป็นต้น
ตัวอย่างโปรแกรมที่ 2.6.1 โปรแกรมแสดงผลการประกาศตัวแปร
เขียนคําสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ test_var1.php
Source code:
ผลลัพธ์ที่ได้:
อธิบายโปรแกรม:
บรรทัดที่ 1 เปิดแท็กภาษา PHP
บรรทัดที่ 2 กำหนดตัวแปร name ให้เก็บค่า Kritsana
บรรทัดที่ 3 กำหนดตัวแปร Name ให้เก็บค่า INFORMATION TECHNOLOGY
บรรทัดที่ 4 แสดงผลโดยใช้คำสั่ง echo โดยให้แสดงค่าของตัวแปร name
บรรทัดที่ 5 แสดงผลโดยใช้คำสั่ง echo โดยให้แสดงค่าของตัวแปร Name
บรรทัดที่ 6 ปิดแท็กภาษา PHP
2.6.2 ชนิดข้อมูล (Data Type)
ในโปรแกรมภาษา PHP สามารถแบ่งชนิดของข้อมูลได้ดังนี้
2.6.2.1 ข้อมูลชนิดสตริง (String)
คือข้อมูลที่มีลําดับของตัวอักษรมาประกอบกันขึ้นในการกําหนดค่าแบบสตริงต้องใช้เครื่องหมาย' '(Single Quote) หรือ “ “ (Double Quote) ด้วยทุกครั้ง
ตัวอย่างโปรแกรมที่ 2.6.2.1 โปรแกรมแสดงข้อมูลชนิดสตริง
เขียนคําสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ test_string.php
Source code:
ผลลัพธ์ที่ได้:
อธิบายโปรเเกรม:
บรรทัดที่ 1 เปิดแท็กภาษา PHP
บรรทัดที่ 2 กำหนดตัวแปร name ให้เก็บค่า กฤษณา
บรรทัดที่ 3 กำหนดตัวแปร surname ให้เก็บค่า แนววิเศษ
บรรทัดที่ 4 แสดงผลโดยใช้คำสั่ง echo โดยให้แสดงค่าของตัวแปร name
บรรทัดที่ 5 แสดงผลโดยใช้คำสั่ง echo โดยให้แสดงค่าของตัวแปร surname
บรรทัดที่ 6 ปิดแท็กภาษา PHP
2.6.2.2 ข้อมูลชนิดจำนวนเต็ม (Integer)
คือ ข้อมูลตัวเลขจำนวนเต็มที่ไม่มีจุดทศนิยม ซึ่งเป็นได้ทั้งจำนวนเต็มบวก เช่น 1, 2, 3,….. จำนวนเต็มลบ เช่น –1, -2, -3,…. และจำนวนเต็มศูนย์ นอกจากนี้ข้อมูลชนิดจำนวนเต็มยังมีคุณสมบัติดังนี้ ได้แก่
- จำนวนเต็มต้องไม่มีเครื่องหมายจุลภาค Comma (,) เครื่องหมายยัติภังค์ – (Blanks) หรือช่องว่าง
- จำนวนเต็มสามารถประกาศค่าตัวแปรโดยกำหนดค่าตัวเลขให้เป็นเลขฐานแปดและเลขฐานสิบหกได้ด้วย โดยเลขฐานแปดจะใส่ 0 (ศูนย์) นำหน้า และเลขฐานสิบหกจะใส่ 0x(ศูนย์เอกซ์) นำหน้า
ตัวอย่างโปรแกรมที่ 2.6.2.2 โปรแกรมแสดงข้อมูลชนิดจำนวนเต็ม
เขียนคำสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ test_int.php
Source Code:
ผลลัพธ์ที่ได้:
อธิบายโปรแกรม:
บรรทัดที่ 1 เปิดแท็กภาษา PHP
บรรทัดที่ 2 กำหนดตัวแปร number1 ให้เก็บค่า 12
บรรทัดที่ 3 กำหนดตัวแปร number2 ให้เก็บค่า 25
บรรทัดที่ 4 กำหนดตัวแปร number3 ให้เก็บค่าผลบวกของค่าในตัวแปร number1 กับ number2
บรรทัดที่ 5 แสดงผลโดยใช้คำสั่ง echo โดยให้แสดงผลลัพธ์เป็นข้อความว่า ผลลัพธ์ที่ได้ = ตามด้วยค่าของตัวแปร number3
บรรทัดที่ 6 ปิดแท็กภาษา PHP
2.6.2.3 ข้อมูลชนิดเลขทศนิยม (Floating Point Numbers)
คือข้อมูลตัวเลขที่มีจุดทศนิยมหลังตัวเลขจำนวนเต็ม หรือตัวเลขที่อยู่ในรูปแบบเลขชี้กำลัง(Exponentail) ในโปรแกรมภาษา PHP สามารถกำหนดให้ตัวเลขอยู่ในรูปแบบเลขชี้กำลังได้โดยใส่ตัวอักษร e นำหน้าเลขกำลังที่ต้องการ เช่น 4 x 102 สามารถเขียนได้ดังนี้ 4e2 เป็นต้น
ตัวอย่างโปรแกรมที่ 2.3 โปรแกรมแสดงข้อมูลชนิดเลขทศนิยม
เขียนคำสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ test_float.php
Source Code:
ผลลัพธ์ที่ได้:
อธิบายโปรแกรม
บรรทัดที่ 1 เปิดแท็กภาษา PHP
บรรทัดที่ 2 กำหนดตัวแปร pi ให้เก็บค่า 3.14
บรรทัดที่ 3 แสดงผลโดยใช้คำสั่ง echo โดยให้แสดงผลลัพธ์เป็นข้อความว่า ค่าของ Pi = ตามด้วยค่าของตัวแปร pi
บรรทัดที่ 6 ปิดแท็กภาษา PHP
2.6.2.4 ข้อมูลชนิดตรรกะ (Boolean)
คือ ข้อมูลที่เก็บค่าเท็จจริงเพื่อใช้สำหรับการตรวจสอบเงื่อนไข โดยจะมี 2 ค่า คือ ค่าจริง (True) หรือ ค่าเท็จ (False)
ตัวอย่างโปรแกรมที่ 2.6.2.4 โปรแกรมแสดงข้อมูลชนิดตรรกะ
เขียนคำสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ test_boolean.php
Source Code:
ผลลัพธ์ที่ได้:
อธิบายโปรเเกรม:
บรรทัดที่ 1 เปิดแท็กภาษา PHP
บรรทัดที่ 2 กำหนดตัวแปร num1 ให้เก็บค่า 5
บรรทัดที่ 3 กำหนดตัวแปร num2 ให้เก็บค่า 15
บรรทัดที่ 3 แสดงผลโดยใช้คำสั่ง echo โดยให้แสดงผลลัพธ์เป็นข้อความว่า ค่าของตัวแปร $num1 < $num2 มีค่าเท่ากับ True
บรรทัดที่ 4 แสดงผลโดยใช้คำสั่ง echo โดยให้แสดงผลลัพธ์เป็นข้อความว่า ค่าของตัวแปร $num1 > $num2 มีค่าเท่ากับ False
บรรทัดที่ 6 ปิดแท็กภาษา PHP
2.6.2.5 ข้อมูลชนิดอาร์เรย์ (Array)
คือ ข้อมูลที่สามารถจัดเก็บค่าหลาย ๆ ค่าไว้ในตัวแปรเพียงตัวเดียวได้ ลักษณะการจัดเก็บของข้อมูลแบบอาร์เรย์เปรียบเหมือนการจัดเก็บข้อมูลไว้ในตาราง โดยข้อมูลแต่ละตัวจะถูกจัดเก็บไว้ในแต่ละช่องของตาราง ทำให้การจัดเก็บข้อมูลจำนวนมากสะดวกขึ้น ไม่จำเป็นต้องทำการกำหนดตัวแปรจำนวนมากเพื่อเก็บค่าตัวแปรหลายตัวแปร
ตัวอย่างโปรแกรมที่ 2.5 โปรแกรมแสดงข้อมูลชนิดอาร์เรย์
เขียนคำสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ test__array.php
Source Code:
ผลลัพธ์ที่ได้:
อธิบายโปรแกรม:
บรรทัดที่ 1 เปิดแท็กภาษา PHP
บรรทัดที่ 2 กำหนดตัวแปร car ให้เก็บข้อมูลชนิดอาร์เรย์
บรรทัดที่ 3 แสดงผลโดยใช้คำสั่ง echo โดยให้แสดงผลลัพธ์เป็นข้อความว่า Accord is ตามด้วยค่าตัวแปร car
บรรทัดที่ 4 แสดงผลโดยใช้คำสั่ง echo โดยให้แสดงผลลัพธ์เป็นข้อความว่า Fortuner is ตามด้วยค่าตัวแปร car
บรรทัดที่ 5 ปิดแท็กภาษา PHP
2.6.2.6 ข้อมูลชนิดอ็อบเจ็กต์ (Object)
คือ ชนิดข้อมูลที่เก็บข้อมูล (Attribute) และการดำเนินการกับข้อมูล (Operation หรือ Method) ซึ่งข้อมูลชนิดอ็อบเจ็กต์มีลักษณะคล้ายข้อมูลชนิดอาร์เรย์ คือสามารถเก็บได้หลาย ๆ ค่าในตัวแปรเดียว แต่การเรียกใช้ข้อมูลจะแตกต่างกัน โปรแกรมภาษาพีเอชพี ข้อมูลชนิดอ๊อบเจ็กต์ต้องมีการประกาศค่าอย่างชัดเจน คือ ต้องประกาศคลาส class ของ object ก่อน โครงสร้างของ class ประกอบด้วยคุณสมบัติ (Properties) และวิธีการดำเนิน (Method) ของอ็อบเจ็กต์
ตัวอย่างโปรแกรมที่ 2.6.2.6 โปรแกรมแสดงข้อมูลชนิดอ็อบเจ็กต์
เขียนคำสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ test_object.php
Source Code:
ผลลัพธ์ที่ได้:
อธิบายโปรเเกรม:
บรรทัดที่ 1 เปิดแท็กภาษา PHP
บรรทัดที่ 2 สร้าง class ชื่อ user
บรรทัดที่ 3 – 5 สร้างฟังก์ชัน indroduce มีการทำงานในฟังก์ชันคือ แสดงข้อความว่า I'm ตามด้วยชื่อที่ส่งมาในตัวแปร firstName
บรรทัดที่ 7 สร้าง object ของ class user โดยการสร้าง object จะใช้คำสั่ง new
บรรทัดที่ 8 กำหนดค่าให้กับตัวแปร firstName ให้เก็บข้อมูล Kritsana
บรรทัดที่ 9 แสดงคุณสมบัติของ object user2
บรรทัดที่ 10 ปิดแท็กภาษา PHP
2.6.2.7 ข้อมูลชนิด Null
คือ ชนิดข้อมูล แบบพิเศษ (Special data type) โดยสามารถเก็บค่าได้เพียง 1 ค่าเท่านั้น คือ null ซึ่งตัวแปรนี้จะไม่มีการเก็บค่าใด ๆ เลย
ตัวอย่างโปรแกรมที่ 2.7 โปรแกรมแสดงข้อมูลชนิด Null
เขียนคำสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ test_null.php
Source Code:
ผลลัพธ์ที่ได้:
อธิบายโปรเเกรม:
บรรทัดที่ 1 เปิดแท็กภาษา PHP
บรรทัดที่ 2 กำหนดตัวแปร a ให้เก็บค่า Null
บรรทัดที่ 3 แสดงชนิดข้อมูลของตัวแปร a จากการเรียกใช้ฟังก์ชัน var_dump ซึ่งเป็นฟังก์ชันที่คืนค่าชนิดข้อมูลกลับมา
บรรทัดที่ 4 ปิดแท็กภาษา PHP
2.6.2.8 ข้อมูลชนิด Resource
คือ ข้อมูลชนิดแบบพิเศษ (Special data type) เช่นเดียวกับ Null ใช้เก็บการอ้างอิงถึงฟังก์ชัน ฐานข้อมูล ทรัพยากรภายนอก หรือ ไฟล์ที่ PHP ไม่ได้จัดเตรียมไว้ให้
2.6.3 ค่าคงที่ (Constant)
ค่าคงที่ (Constant) คือ ตัวแปรที่กำหนดขึ้นมาเพื่อเก็บข้อมูลแบบง่าย ๆ เมื่อกำหนดค่าให้กับตัวแปรแล้วไม่สามารถเปลี่ยนแปลงค่าได้ในภายหลัง การประกาศค่าตัวแปรค่าคงที่แตกต่างจากการประกาศค่าตัวแปรแบบธรรมดา เนื่องจากจะไม่ใช้สัญลักษณ์ $ (Dollar Sign) นำหน้า การตั้งชื่อค่าคงที่ (Constant) มีกฏเกณฑ์เหมือนกับการตั้งชื่อตัวแปรปกติ
ตัวอย่างโปรแกรมที่ 2.6.3 โปรแกรมแสดงการกำหนดตัวแปรค่าคงที่
เขียนคำสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ test_constants.php
Source Code:
ผลลัพธ์ที่ได้:
อธิบายโปรแกรม:
บรรทัดที่ 1 เปิดแท็กภาษา PHP
บรรทัดที่ 2 ประกาศค่าคงที่ให้ NAME เป็นค่าคงที่แบบ String มีค่าเท่ากับ 'KRITSANA'
บรรทัดที่ 3 ประกาศค่าคงที่ให้ YEAR เป็นค่าคงที่แบบจำนวนเต็ม (Integer) มีค่าเท่ากับ 2021
บรรทัดที่ 5 แสดงข้อความ Welcome to ตามด้วยค่าที่เก็บในตัวแปรค่าคงที่ NAME
บรรทัดที่ 6 แสดงข้อความ Next year is ตามด้วยค่าที่เก็บในตัวแปรค่าคงที่ YEAR แล้วนำไป บวก 1
บรรทัดที่ 7 ปิดแท็กภาษา PHP