php array的实现

    技术2022-05-20  42

    php的array变量在源码实现中使用的是其实像的HashTable数据结构。

     

    具体步骤大致如下:

     

    对key做hash,得到hash code之后与HashTable的nTableMask字段做&操作,得到bucket的index,

    通过index可以定位到bucket,而bucket是一个链表,由于存储key相同的字段。

     

    对于key是int的情况,可以省略对key做hash得到hash code的步骤,直接将int的key与nTableMask做&操作,得到bucket的index。


    最新回复(0)