Hashable es una interfaz que puede permitir que los objetos se utilicen como claves. Es una alternativa a la función spl_object_hash () que determina el hash de un objeto en función de su identificador: esto significa que dos objetos que se consideran iguales por una definición implícita no pueden tratarse como iguales porque no son la misma instancia.
La función hash () se puede utilizar para devolver un valor escalar que se utilizará como valor hash de un objeto que determina a dónde va en la tabla hash. Si bien este valor no tiene que ser único, los objetos que son iguales deben tener el mismo valor hash.
La función equals () se puede utilizar para determinar si dos objetos son iguales. Se garantiza que el objeto de comparación puede ser una instancia de la misma clase que el sujeto.
Sinopsis de la interfaz
Ds\Hashable {
/* Methods */
abstract public bool equals( object $obj )
abstract public mixed hash( void )
}