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 해시 테이블의 특징입니다. 모든 분들께 도움이 되기를 바랍니다.