D Server
เนื้อหาของเรา
- กลับหน้าแรก
- CGI-Perl WebBoard
- Php3 WebBoard
- Developer WebBoard
บริการของเรา
- Free GuestBook
- Free Counter
- Free WebBoard
- Free Stats
- Free JumpBox
- Free E-Mail
ข้อมูลของเรา
- ข่าวประกาศ
- D'Server คืออะไร?
- ทีมงาน D'Server
- ติดต่อลงโฆษณา
- ข้อมูลการติดต่อทีมงาน
- ข้อตกลงการให้บริการ
Bandwidth Support by Internet Thailand
Power by Apache
Power by FreeBSD
PHP : บทที่ 2 ตัวแปรในภาษา PHP

ตัวแปรในภาษา 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
);

กลับเนื้อหาหลัก.. ->



[ สนับสนุนช่องทางข้อมูลโดย Internet Thailand | สงวนลิขสิทธิ์ (c) Dream Group 2542 | ข้อตกลงการบริการ | ทีมงาน Dream Group | แนะนำติชม มาที่ webmonster@dserver.org ]