1. คุณสมบัติ
รองรับการสืบค้นคีย์ -> ค่าทั่วไป
สามารถใช้เป็นอาร์เรย์ได้
การเพิ่มและการลบโหนดมีความซับซ้อน O(1)
คีย์รองรับประเภทผสม: มีอาร์เรย์ดัชนีอาร์เรย์ที่เกี่ยวข้องในเวลาเดียวกัน
ค่ารองรับประเภทผสม
รองรับการเคลื่อนที่เชิงเส้น: เช่น foreach
2. ตัวอย่าง
typedef struct _hashtable { uint nTableSize; //ความยาวของตาราง ไม่ใช่จำนวนองค์ประกอบ uint nTableMask; //มาสก์ของตารางจะเท่ากับ nTableSize-1 เสมอ uint nNumOfElements; // จำนวนองค์ประกอบที่เก็บไว้ ulong nNextFreeElement; // ชี้ไปที่ตำแหน่งองค์ประกอบว่างถัดไป * pInternalPointer; // ในระหว่าง foreach loop มันถูกใช้เพื่อบันทึกตำแหน่งองค์ประกอบที่สำรวจในปัจจุบัน * pListHead; ที่ฝากข้อมูล *pListTail; Bucket **arBuckets;//อาร์เรย์องค์ประกอบที่เก็บไว้ dtor_func_t pDestructor;//Destructor zend_bool ถาวร;//ไม่ว่าจะยังคงอยู่หรือไม่ จากนี้เราจะพบว่าอาร์เรย์ PHP สามารถคงอยู่ในหน่วยความจำได้โดยไม่ต้องโหลดซ้ำแต่ละคำขอ ถ่าน nApplyCount ที่ไม่ได้ลงนาม; zend_bool bApplyProtection; }ตารางแฮช;
ข้างต้นนี้เป็นลักษณะของตารางแฮชใน PHP ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน