1. Funktionen
Unterstützt typische Schlüssel-Wert-Abfragen.
Kann als Array verwendet werden.
Das Hinzufügen und Löschen von Knoten ist O(1)-komplex.
Der Schlüssel unterstützt gemischte Typen: Es gibt gleichzeitig verwandte Array-Index-Arrays.
Value unterstützt gemischte Typen.
Unterstützt lineare Durchquerung: z. B. foreach.
2. Beispiel
typedef struct _hashtable { uint nTableSize; //Die Länge der Tabelle, nicht die Anzahl der Elemente uint nTableMask; //Die Maske der Tabelle, immer gleich nTableSize-1 uint nNumOfElements; //Die Anzahl der gespeicherten Elemente ulong nNextFreeElement; //Zeigt auf die nächste leere Elementposition Bucket *pInternalPointer; //Während der foreach-Schleife wird es zum Aufzeichnen der aktuell durchlaufenen Elementposition verwendet Bucket *pListHead; Bucket *pListTail; Bucket **arBuckets;//Gespeichertes Elementarray dtor_func_t pDestructor;//Destruktor zend_bool persistent;//Ob es persistent ist. Daraus können wir schließen, dass PHP-Arrays im Speicher beibehalten werden können, ohne dass jede Anfrage neu geladen werden muss. unsigned char nApplyCount; zend_bool bApplyProtection; }HashTable;
Das Obige sind die Merkmale der Hash-Tabelle in PHP. Ich hoffe, dass sie für alle hilfreich sind.