Hashable 是一个允许将对象用作 key 的接口。它是 spl_object_hash() 函数的替代方案,该函数根据对象的句柄确定对象的哈希值:这意味着被隐式定义视为相等的两个对象不能被视为相等,因为它们不是同一个实例。
hash() 函数可用于返回一个标量值,该值用作对象的哈希值,该值确定它在哈希表中的位置。虽然此值不必是唯一的,但相等的对象必须具有相同的哈希值。
equals() 函数可用于确定两个对象是否相等。可以保证比较对象可以是与主题相同类的实例。
要求/配置
Hashable 接口是 PHP 数据结构 (ds) 扩展包的一部分。它适用于 PECL ds 扩展版本 1.0.0 及更高版本。
以下是使用 Hashable 接口的基本要求 -
要求 | 描述 |
---|---|
PHP 版本 | 确保您已安装 PHP 7.0 或更高版本。 |
PECL | 必须安装 PECL(PHP 扩展社区库)才能添加 ds 扩展。 |
界面概要
Ds\Hashable {
/* 方法 */
abstract public bool equals( object $obj )
abstract public mixed hash( void )
}
函数列表
函数 | 描述 |
---|---|
Ds\Hashable::equals() | 判断对象是否等于当前实例。 |
Ds\Hashable::hash() | 返回要用作哈希值的标量值。 |