Класс QuickHashIntHash

(PECL quickhash >= Unknown)

Введение

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

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

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

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

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

QuickHashIntHash::CHECK_FOR_DUPES

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

QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC

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

QuickHashIntHash::HASHER_NO_HASH

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

QuickHashIntHash::HASHER_JENKINS1

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

QuickHashIntHash::HASHER_JENKINS2

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

Содержание

add a note add a note

User Contributed Notes

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