Quickhash QuickHashIntStringHash 클래스

(PECL quickhash >= Unknown)


소개

이 클래스는 값이 문자열인 정수를 포함하는 해시를 래핑합니다. 해시는 ArrayAccess 인터페이스의 구현으로도 사용할 수 있습니다.

Iterator 인터페이스도 구현되어 있으므로 해시를 foreach로 반복할 수도 있습니다. 요소가 반환되는 순서는 보장되지 않습니다.


클래스 개요

                  
class QuickHashIntStringHash {

  /* Constants */
  const int CHECK_FOR_DUPES = 1;
  const int DO_NOT_USE_ZEND_ALLOC = 2;
  const int HASHER_NO_HASH = 256;
  const int HASHER_JENKINS1 = 512;
  const int HASHER_JENKINS2 = 1024;

  /* Methods */
  public add(int $key, string $value): bool
  public __construct(int $size, int $options = 0)
  public delete(int $key): bool
  public exists(int $key): bool
  public get(int $key): mixed
  public getSize(): int
  public static loadFromFile(string $filename, int $size = 0, int $options = 0): QuickHashIntStringHash
  public static loadFromString(string $contents, int $size = 0, int $options = 0): QuickHashIntStringHash
  public saveToFile(string $filename): void
  public saveToString(): string
  public set(int $key, string $value): int
  public update(int $key, string $value): bool
}
                  
                

미리 정의된 상수

QuickHashIntSet::CHECK_FOR_DUPES
활성화된 경우 세트에 중복 요소를 추가하면(QuickHashIntSet::add() 또는 QuickHashIntSet::loadFromFile()을 통해) 해당 요소가 세트에서 삭제됩니다. 이것은 추가 시간이 걸리므로 필요할 때만 사용하십시오.
QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC
내부 집합 구조에 대한 PHP의 내부 메모리 관리자 사용을 비활성화합니다. 이 옵션을 활성화하면 내부 할당이 memory_limit 설정에 포함되지 않습니다.
QuickHashIntSet::HASHER_NO_HASH
해싱 함수를 사용하지 않고 모듈로를 사용하여 버킷 목록 인덱스를 찾는 것을 선택합니다. 이것은 일반 해싱보다 빠르지 않으며 더 많은 충돌을 제공합니다.
QuickHashIntSet::HASHER_JENKINS1
정수 해시를 버킷 리스트 인덱스로 바꾸는 기본 해싱 함수입니다.
QuickHashIntSet::HASHER_JENKINS2
변형 해싱 알고리즘을 선택합니다.

목차