ตัวแปรในภาษา PHP จะขึ้นต้นด้วย สัญลักษณ์ "$" (เครื่องหมายดอลลาร์)
เป็นตัวแปรแบบสนใจตัวอักษร เล็ก-ใหญ่ (case-sensitive) และก็อีกเช่นเคย
ตัวแปลใน PHP เป็นตัวแปลที่ไม่ต้องกำหนดชนิด ชนาด และไม่ต้องประกาศล่วงหน้าก่อนการใช้งาน
ซึ่งชนิดของตัวแปลมีอยู่ 3 ชนิดคือ
- ตัวแปรแบบ
Scalar
- ตัวแปรแบบ
Array
- ตัวแปรแบบ
Associative Array (หรือที่เรียกว่า Hash)
ตัวแปรแบบ Scalar
เป็นตัวแบบพื้นฐานที่สุดในภาษา PHP โดยตัวแปรชนิดนี้สามารถที่จะกำหนดค่าเป็น
ตัวเลข (number) หรือ ตัวอักษรก็ได้ (string) ซึ่งตัวแปลภาษาจะทำการตรวจสอบเองว่าค่าภายในตัวแปรเป็นชนิดได
และทำการประมวลผลได้อย่างถูกต้อง
| ตัวอย่างการใช้งานตัวแปรแบบ
Scalar |
$a
= 1234; # decimal number
$a = -123; # a negative number
$a = 0123; # octal number (equivalent to 83 decimal)
$a = 0x12; # hexadecimal number (equivalent to 18 decimal)
$a = 12.503; # floating-point number
$a = "PHP Script"; # string value
|
ตัวแปรแบบ Array
ตัวแปรแบบ array ในภาษา PHP เป็นตัวแปรแบบ scalar ที่นำมาต่อกันเป็น list
โดยการกำหนด list ของ array จะใช้เครื่องหมายวงเล็บใหญ่ "["
, "]" เปิดและปิด ภายในวงเล็บจะระบุหมายเลขของ list อาจจะเป็น
list หรือ array แบบหลายมิติก็ได้ ดังตัวอย่าง
| ตัวอย่างการใช้งานตัวแปรแบบ
Array |
$a[0]
= "Index"; # one dimensional examples (string)
$a[1] = 52; # one dimensional examples (number)
$a[1][1] = -123; # two dimensional examples (negative number)
$a[1][1][2] = 0123; # three dimensional examples (octal number)
$a[1][1]2][2] = 0x12; # four dimensional examples (hexadecimal number)
$a = array(
0 => 20,
1 => -32,
2 => "Index",
3 => 0xF8
);
|
ตัวแปรแบบ Associative Array (หรือที่เรียกว่า Hash)
ตัวแปรแบบ array อีกแบบหนึ่งที่มีในภาษา Perl ก็คือ Associative Array
ที่ใช้การอ้างดรรชนีด้วยข้อความจึงทำให้ภาษา Perl โดดเดนงในการจัดการกับตัวแปรแบบ
array ผู้พัฒนาภาษา PHP จึงได้นำข้อดีจุดนี้ของ PHP มารวมอยู่ด้วย และได้เพิ่มความสามารถบางอย่างของ
Associative Array หรือ hash ของ PHP ให้มีความสามารถสูงกว่า hash ของภาษา
อื่น โดยที่ hash ของ PHP จะเหมือนกับ array ที่อ้างดรรชนีด้วยตัวเลขคือ
ใช้สัญลักษณ์ "$" เช่นเดียวกับตัวแปรชนิดอื่นๆ (ตัดปัญหาเรื่องความสับสนในการจดจำชนิดของตัวแปรแบบต่างๆ)
แต่เปลี่ยนจากใช้ตัวเลขในการอ้างดรรชนีมาเป็นตัวอักษร และยังสามารถที่จะกำหนดตัวแปรแบบ
has ให้เป็น array หลายมิติได้เช่นกัน ดังตัวอย่าง
| ตัวอย่างการใช้งานตัวแปรแบบ
Associative Array |
$a["index"]
= "Index"; # one dimensional examples (string)
$a["input"] = 52; # one dimensional examples (number)
$a["input"]["begin"] = -123; # two dimensional
examples (negative number)
$a["input"]["ne"]["eq"] = 0123; #
three dimensional examples (octal number)
$a["input"]["ne"]"eq"]["ok"]
= 0x12; # four dimensional examples (hexadecimal number)
$a = array(
"start"
=> 20,
"stop"
=> -32,
"index"
=> "Index",
"color"
=> 0xF8
);
|
ตัวแปรลูกผสม (Mix Array)
จุดเด่นของตัวแปรแบบ Array ในภาษา PHP นอกจากจะสามารถกำหนดเป็นตัวแปล
Array หลายมิติได้แล้ว จุดเด่นอีกอย่างที่ไม่ควรมองข้ามคือการนำ Array
ทั้งสองชนิดมารวมกันอยู่ในตัวแปลตัวเดียว โดยที่การอ้างดรรชนียังคงเหมือนเดิม
คือหาก Array กำหนดดรรชนีเป็นตัวเลขก็ยังคงอ้างแบบตัวเลข หากกำหนดเป็นตัวอักษร
(hash) ก็อ้างแบบตัวอักษร และ Array ลูกผสมนี้ก็ยังสามารถที่จะสร้างเป็น
Array แบบหลายมิติได้เช่นกัน ดังตัวอย่าง
| ตัวอย่างการใช้งานตัวแปร
Mix Array |
$a["input"][1] = -123; # two dimensional examples (negative
number)
$a[0]["ne"]["eq"] = 0123; # three dimensional
examples (octal number)
$a["input"][1]"eq"][1] = 0x12; # four dimensional
examples (hexadecimal number)
$a = array(
"start"
=> 20,
"stop"
=> -32,
0 => "Index",
"color"
=> 0xF8
);
|