2024年PHP开发者大会日本站

QuickHashIntStringHash 类

(PECL quickhash >= 未知)

简介

此类封装了一个包含整数的哈希表,其中值是字符串。哈希表也实现了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