PHP中hash table的特点是什么
小编给大家分享一下PHP中hash table的特点是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
1、特点
支持典型的key->value查询。
可以作为数组使用。
添加、删除节点是O(1)的复杂性。
key支持混合类型:同时存在相关数组索引数组。
Value支持混合类型。
支持线性遍历:例如foreach。
2、实例
typedef struct _hashtable { uint nTableSize; //表长度,并非元素个数 uint nTableMask;//表的掩码,始终等于nTableSize-1 uint nNumOfElements;//存储的元素个数 ulong nNextFreeElement;//指向下一个空的元素位置 Bucket *pInternalPointer;//foreach循环时,用来记录当前遍历到的元素位置 Bucket *pListHead; Bucket *pListTail; Bucket **arBuckets;//存储的元素数组 dtor_func_t pDestructor;//析构函数 zend_bool persistent;//是否持久保存。从这可以发现,PHP数组是可以实现持久保存在内存中的,而无需每次请求都重新加载。 unsigned char nApplyCount; zend_bool bApplyProtection; } HashTable;
看完了这篇文章,相信你对“PHP中hash table的特点是什么”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!