pencilAssociative Arrays

จิณณพัต ด่านศักดิ์ชัย 630710642

Associative Arrays คือ

เป็นการเก็บข้อมูลในรูปแบบของคู่คีย์และค่า (Key-Value Pair) ซึ่งคีย์จะทำหน้าที่เป็นตัวอ้างอิงข้อมูลแต่ละค่า คีย์อาจเป็นสตริงหรือตัวเลข และค่าจะเป็นข้อมูลที่สัมพันธ์กับคีย์นั้นๆ associative array

ใน PHP จะใช้สัญลักษณ์ " => "

การสร้าง Associative Array

$array_name = array("key1" => "value1", "key2" => "value2", ...);

จากตัวอย่าง

  • Bam, Ben, และ Bow เป็นคีย์

  • 25, 35, และ 45 เป็นค่าที่สอดคล้องกับคีย์แต่ละตัว

การเข้าถึงค่าใน Associative Array

เราสามารถเข้าถึงค่าในอาร์เรย์โดยระบุคีย์ภายในเครื่องหมาย []

$array_name["key"];

การเพิ่มหรือแก้ไขค่าใน Associative Array

การเพิ่มค่าใหม่หรือแก้ไขค่านั้นสามารถทำได้โดยใช้คีย์ที่ต้องการ

$array_name["key"] = "new_value";

การวนลูปผ่าน Associative Array

$key จะถือค่าของคีย์ในแต่ละรอบของการวนลูป

$value จะถือค่าที่สอดคล้องกับคีย์นั้น

เปรียบเทียบกับภาษา Java / C / Python

การเปรียบเทียบ Associative Arrays ทำได้โดยดูความแตกต่างและความคล้ายคลึงในเรื่องของการจัดเก็บข้อมูลและการเข้าถึงข้อมูลด้วยคีย์

Output

35

  • PHP ใช้ Associative Array ซึ่งคล้ายคลึงกับ dictionary ของ Python และ HashMap ของ Java โดยใช้คีย์ในการอ้างอิงค่า

  • Java ใช้ HashMap ซึ่งมีประสิทธิภาพสูงและรองรับการใช้งานทั่วไปของคีย์-ค่า แต่ต้องกำหนดชนิดข้อมูลที่ชัดเจน

  • C ไม่มีโครงสร้าง Associative Array แบบโดยตรง แต่สามารถสร้างได้ผ่านการใช้ struct หรือ hash table จากไลบรารีเพิ่มเติม

  • Python ใช้ dict ซึ่งคล้ายคลึงกับ php Associative Array และมีประสิทธิภาพสูงในการใช้งาน

ตารางการเปรียบเทียบระหว่างภาษา

Function
PHP (Associative Array)
Java (HashMap)
C (ไม่มีโดยตรง)
Python (dict)

การใช้คีย์

สตริงหรือจำนวนเต็ม

กำหนดได้ตามประเภทข้อมูล (String, Integer)

ไม่มีโดยตรง

สตริงหรือจำนวนเต็ม

การประกาศ/สร้าง

ฟังก์ชัน array() หรือ []

HashMap และกำหนดชนิดข้อมูล

struct หรือ hash table ไลบรารีเสริม

dict หรือ {}

ประสิทธิภาพ

ดีในกรณีที่ไม่ใหญ่มาก

(ใช้ hash table ภายใน)

ดี (ใช้ hash table ภายใน)

ขึ้นอยู่กับการใช้งาน struct หรือ hash table

ดี (ใช้ hash table ภายใน)

การเข้าถึงข้อมูล

ใช้คีย์ในการเข้าถึงค่า

ใช้เมธอด get() ของ HashMap

ใช้การค้นหาแบบเชิงโครงสร้าง

ใช้คีย์ในการเข้าถึงค่า

ฟังก์ชันเสริม

รองรับฟังก์ชันต่าง ๆ เช่น count(), foreach

รองรับฟังก์ชันของ Map เช่น put(), get()

ไม่มีฟังก์ชันโดยตรง

มีฟังก์ชันมากมาย เช่น keys(), values()

Presentation

Video Clip

Reference

Last updated