Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<Ds\Collection::toArrayDs\Hashable::equals>
^Data StructuresLast updated: Mon, 26 Oct 2026

The Hashable interface

(PECL ds >= 1.0.0)

Introduction

Hashable is an interface which allows objects to be used as keys. It’s an alternative to spl_object_hash(), which determines an object’s hash based on its handle: this means that two objects that are considered equal by an implicit definition would not be treated as equal because they are not the same instance.

hash() is used to return a scalar value to be used as the object's hash value, which determines where it goes in the hash table. While this value does not have to be unique, objects which are equal must have the same hash value.

equals() is used to determine if two objects are equal. It's guaranteed that the comparing object will be an instance of the same class as the subject.

Interface synopsis

interface Ds\Hashable {
/* Methods */
abstract public function equals(object $obj): bool
abstract public function hash(): mixed
}

Table of Contents


<Ds\Collection::toArrayDs\Hashable::equals>
^Data StructuresLast updated: Mon, 26 Oct 2026