
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.