
1. Características
Admite consultas típicas clave->valor.
Se puede utilizar como una matriz.
Agregar y eliminar nodos tiene una complejidad O (1).
La clave admite tipos mixtos: hay matrices de índice de matriz relacionadas al mismo tiempo.
El valor admite tipos mixtos.
Admite recorrido lineal: como foreach.
2. Ejemplo
estructura typedef _hashtable {
uint nTableSize; //La longitud de la tabla, no el número de elementos uint nTableMask //La máscara de la tabla, siempre igual a nTableSize-1
uint nNumOfElements; // El número de elementos almacenados ulong nNextFreeElement; // Apunta a la siguiente posición del elemento vacío Bucket *pInternalPointer // Durante el bucle foreach, se utiliza para registrar la posición del elemento actualmente atravesado Bucket *pListHead;
Cubo *pListTail;
Bucket **arBuckets;//Matriz de elementos almacenados dtor_func_t pDestructor;//Destructor zend_bool persistente;//Si persiste. De esto podemos encontrar que las matrices PHP se pueden conservar en la memoria sin recargar cada solicitud.
carácter sin firmar nApplyCount;
zend_bool bAplicarProtección;
}Tabla hash;Las anteriores son las características de la tabla hash en PHP. Espero que sean útiles para todos.