說 HashTable 是PHP的靈魂,一點也不為過。在Zend引擎中,比如變量表、常量表、函數表、數組,以及資源管理、線程安全等,其實現都有HashTable的身影。HashTable 是一種查找性能極高的數據結構,理想情況下其算法複雜度是O(1)。
PHP 源碼信息
PHP HashTable 概述
HashTable 源碼展示
在Zend/zend_hash.h的line 55~83 中定義了結構體 Bucket 和 HashTable。注意 Bucket 和 HashTable 是别名,分别對應結構體 bucket 和 _hashtable。
Bucket 解析說明
先分析一下Bucket 結構體成員變量的作用:
說明
一. pData 和 pDataPtr 的關系,
二. h 成員保存的是HashTable key 哈希後的值,而非HashTable中的索引值,為什麼?
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!