加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中hash table的特性包括了哪些呢?

发布时间:2023-05-19 15:32:40 所属栏目:PHP教程 来源:
导读:今天这篇我们来学习和了解“PHP中hash table的特点包括了哪些呢?”,下文的讲解详细,步骤过程清晰,对大家进一步学习和理解“PHP中hash table的特点包括了哪些呢?”有一定的帮助。有这方面学
今天这篇我们来学习和了解“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;
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!