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:

คลิกที่ปุ่ม RUN ด้านซ้ายเพื่อแสดงผลลัพธ์

ผลลัพธ์ที่ได้:

รูปที่ 2.9 แสดงผลลัพธ์การประกาศตัวแปร

อธิบายโปรแกรม:

บรรทัดที่ 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:                             

คลิกที่ปุ่ม RUN ด้านซ้ายเพื่อแสดงผลลัพธ์

ผลลัพธ์ที่ได้:

รูปที่ 2.10 แสดงผลลัพธ์ข้อมูลชนิดสตริง

อธิบายโปรเเกรม:

บรรทัดที่ 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:

คลิกที่ปุ่ม RUN ด้านซ้ายเพื่อแสดงผลลัพธ์

ผลลัพธ์ที่ได้:

รูปที่ 2.11 แสดงผลลัพธ์ข้อมูลชนิดจำนวนเต็ม

อธิบายโปรแกรม:

บรรทัดที่ 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:

คลิกที่ปุ่ม RUN ด้านซ้ายเพื่อแสดงผลลัพธ์

ผลลัพธ์ที่ได้:

รูปที่ 2.12 แสดงผลลัพธ์ข้อมูลชนิดเลขทศนิยม

อธิบายโปรแกรม 

บรรทัดที่ 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:

คลิกที่ปุ่ม RUN ด้านซ้ายเพื่อแสดงผลลัพธ์

ผลลัพธ์ที่ได้:

รูปที่ 2.13 แสดงผลลัพธ์ข้อมูลชนิดตรรกะ

อธิบายโปรเเกรม:

บรรทัดที่ 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:

คลิกที่ปุ่ม RUN ด้านซ้ายเพื่อแสดงผลลัพธ์

ผลลัพธ์ที่ได้:

รูปที่ 2.14 แสดงผลลัพธ์ข้อมูลชนิดอาร์เรย์

อธิบายโปรแกรม:

บรรทัดที่ 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:

คลิกที่ปุ่ม RUN ด้านซ้ายเพื่อแสดงผลลัพธ์

ผลลัพธ์ที่ได้:

รูปที่ 2.15 แสดงผลลัพธ์ข้อมูลชนิดอ็อบเจ็กต์

อธิบายโปรเเกรม:

บรรทัดที่ 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:

คลิกที่ปุ่ม RUN ด้านซ้ายเพื่อแสดงผลลัพธ์

ผลลัพธ์ที่ได้:

รูปที่ 2.16 แสดงผลลัพธ์ข้อมูลชนิด Null

อธิบายโปรเเกรม:

บรรทัดที่ 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:

คลิกที่ปุ่ม RUN ด้านซ้ายเพื่อแสดงผลลัพธ์

ผลลัพธ์ที่ได้:

รูปที่ 2.17 แสดงผลลัพธ์การกำหนดตัวแปรค่าคงที่

อธิบายโปรแกรม:

บรรทัดที่ 1 เปิดแท็กภาษา PHP

บรรทัดที่ 2 ประกาศค่าคงที่ให้  NAME  เป็นค่าคงที่แบบ String มีค่าเท่ากับ 'KRITSANA'

บรรทัดที่ 3 ประกาศค่าคงที่ให้  YEAR   เป็นค่าคงที่แบบจำนวนเต็ม (Integer)  มีค่าเท่ากับ 2021

บรรทัดที่ 5 แสดงข้อความ Welcome to ตามด้วยค่าที่เก็บในตัวแปรค่าคงที่ NAME  

บรรทัดที่ 6 แสดงข้อความ Next year is ตามด้วยค่าที่เก็บในตัวแปรค่าคงที่   YEAR แล้วนำไป บวก 1

บรรทัดที่ 7 ปิดแท็กภาษา PHP