QuickHashIntStringHash 类

(PECL quickhash >= Unknown)

简介

此类包装一个包含整数的哈希表,其中值是字符串。哈希表也可用作 ArrayAccess 接口的实现。

哈希表也可以用 foreach 遍历,因为它也实现了 Iterator 接口。元素返回的顺序没有保证。

类概要

class QuickHashIntStringHash {
/* 常量 */
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, 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 set(int $key, string $value): int
public update(int $key, string $value): bool
}

预定义常量

QuickHashIntStringHash::CHECK_FOR_DUPES

如果启用,向集合中添加重复元素(通过 QuickHashIntStringHash::add()QuickHashIntStringHash::loadFromFile())会导致这些元素从集合中删除。这会占用额外的时间,因此只在需要时使用。

QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC

禁用对集合内部结构使用 PHP 的内部内存管理器。启用此选项后,内部分配将不计入 memory_limit 设置。

QuickHashIntStringHash::HASHER_NO_HASH

选择不使用哈希函数,而是简单地使用模运算来查找桶列表索引。这并不比正常的哈希更快,并且会导致更多的冲突。

QuickHashIntStringHash::HASHER_JENKINS1

这是将整数哈希值转换为桶列表索引的默认哈希函数。

QuickHashIntStringHash::HASHER_JENKINS2

选择不同的哈希算法。

目录

添加备注

用户贡献的笔记

此页面没有用户贡献的笔记。
To Top