Класс QuickHashIntStringHash

(PECL quickhash >= Unknown)

Введение

Класс-обёртка для хеш-таблицы с целочисленными ключами и значениями, являющимися строками. Также реализует интерфейс ArrayAccess.

Класс реализует интерфейс Iterator, что даёт возможность перебора с помощью конструкции foreach. Порядок следования элементов не гарантируется.

Обзор классов

classQuickHashIntStringHash {
constintHASHER_NO_HASH = 256;
constintHASHER_JENKINS1 = 512;
constintHASHER_JENKINS2 = 1024;
publicadd(int$key, string$value): bool
public__construct(int$size, int$options = 0)
publicdelete(int$key): bool
publicexists(int$key): bool
publicget(int$key): mixed
publicgetSize(): int
publicstaticloadFromFile(string$filename, int$size = 0, int$options = 0): QuickHashIntStringHash
publicstaticloadFromString(string$contents, int$size = 0, int$options = 0): QuickHashIntStringHash
publicsaveToFile(string$filename): void
publicset(int$key, string$value): int
publicupdate(int$key, string$value): bool
}

Предопределённые константы

QuickHashIntHash::CHECK_FOR_DUPES

Если включено, то добавление повторяющихся элементов в набор (с помощью методов QuickHashIntStringHash::add() или QuickHashIntStringHash::loadFromFile()) приведёт к отбрасыванию этих элементов. Эта функциональность несколько замедляет работу, так что должен использоваться только если действительно необходим.

QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC

Запрещает использование встроенного в PHP менеджера памяти для внутренних структур. Если включена эта опция, то используемая память не будет учитываться настройкой memory_limit.

QuickHashIntHash::HASHER_NO_HASH

Указывает, что не нужно использовать функцию хеширования, а вместо неё, для поиска индекса в цепочке, использовать модуль. Это не быстрее обычного хеширования и порождает больше коллизий.

QuickHashIntHash::HASHER_JENKINS1

Хеширующая функция по умолчанию.

QuickHashIntHash::HASHER_JENKINS2

Другой хеширующий алгоритм.

Содержание

To Top