1. Recursos
Suporta consulta típica de chave-> valor.
Pode ser usado como uma matriz.
Adicionar e excluir nós tem complexidade O(1).
Key suporta tipos mistos: existem matrizes de índice de array relacionadas ao mesmo tempo.
O valor oferece suporte a tipos mistos.
Suporta travessia linear: como foreach.
2. Exemplo
typedef estrutura _hashtable { uint nTableSize; //O comprimento da tabela, não o número de elementos uint nTableMask; //A máscara da tabela, sempre igual a nTableSize-1; uint nNumOfElements; //O número de elementos armazenados ulong nNextFreeElement; //Aponta para a próxima posição do elemento vazio Bucket *pInternalPointer; Balde *pListTail; Bucket **arBuckets;//Matriz de elementos armazenados dtor_func_t pDestructor;//Destruidor zend_bool persistente;//Se é persistido. A partir disso, podemos descobrir que os arrays PHP podem persistir na memória sem recarregar cada solicitação. caractere não assinado nApplyCount; zend_bool bApplyProtection; }HashTable;
Acima estão as características da tabela hash em PHP. Espero que seja útil para todos.