CascadiaPHP 2024

Класс QuickHashIntHash

(PECL quickhash >= Unknown)

Введение

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

Хеши также можно перебирать конструкцией foreach, поскольку интерфейс Iterator также реализовали. Порядок, в котором хеш возвращает элементы, не гарантируется.

Обзор класса

class QuickHashIntHash {
/* Константы */
const int CHECK_FOR_DUPES = 1;
const int HASHER_NO_HASH = 256;
const int HASHER_JENKINS1 = 512;
const int HASHER_JENKINS2 = 1024;
/* Методы */
public add(int $key, int $value = ?): bool
public __construct(int $size, int $options = ?)
public delete(int $key): bool
public exists(int $key): bool
public get(int $key): int
public getSize(): int
public static loadFromFile(string $filename, int $options = ?): QuickHashIntHash
public static loadFromString(string $contents, int $options = ?): QuickHashIntHash
public saveToFile(string $filename): void
public set(int $key, int $value): bool
public update(int $key, int $value): bool
}

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

QuickHashIntHash::CHECK_FOR_DUPES

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

QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC

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

QuickHashIntHash::HASHER_NO_HASH

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

QuickHashIntHash::HASHER_JENKINS1

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

QuickHashIntHash::HASHER_JENKINS2

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

Содержание

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top