(Информация о версии неизвестна, возможно, только в SVN)
Hashable - это интерфейс, который позволяет использовать объекты в качестве ключей. Это альтернатива функции spl_object_hash(), которая вычисляет хеш объекта в соответствии с его обработчиком: это значит, что два объекта могут быть одинаковы по своему состоянию, но не считаются одинаковыми из-за того, что являются разными экземплярами одного класса.
Функция hash() используется для вычисления скалярного значения, характеризующего хеш объекта и определяющего его положение в хеш-таблице. Это значение не обязательно должно быть уникальным. Объекты с одинаковым хешем считаются идентичными.
Функция equals() используется для определения идентичности двух объектов. Она гарантирует, что два объекта являются одним и тем же экземпляром класса.