
1. 특징
일반적인 키->값 쿼리를 지원합니다.
배열로 사용할 수 있습니다.
노드를 추가하고 삭제하는 것은 O(1) 복잡도입니다.
Key는 혼합 유형을 지원합니다. 동시에 관련 배열 인덱스 배열이 있습니다.
값은 혼합 유형을 지원합니다.
foreach와 같은 선형 순회를 지원합니다.
2. 예시
typedef 구조체 _hashtable {
uint nTableSize; //요소 수가 아닌 테이블의 길이 uint nTableMask; //테이블의 마스크, 항상 nTableSize-1과 동일
uint nNumOfElements; // nNextFreeElement; //다음 빈 요소 위치를 가리킵니다. Bucket *pInternalPointer; //foreach 루프 중에 현재 이동한 요소 위치를 기록하는 데 사용됩니다. Bucket *pListHead;
버킷 *pListTail;
버킷 **arBuckets;//저장된 요소 배열 dtor_func_t pDestructor;//소멸자 zend_bool persist;//지속 여부. 이를 통해 우리는 각 요청을 다시 로드하지 않고도 PHP 배열이 메모리에 지속될 수 있다는 것을 알 수 있습니다.
서명되지 않은 char nApplyCount;
zend_bool bApplyProtection;
}해시테이블;위 내용은 PHP 해시 테이블의 특징입니다. 모든 분들께 도움이 되기를 바랍니다.