Ds\Hashable::hash
En esta página
Ds\Hashable::hash
Devuelve un valor escalar para usar como valor de hash
Descripción#
abstract public Ds\Hashable::hash(): mixed
```php
Devuelve un valor escalar para usar como valor de hash de los objetos.
Mientras que el valor de hash no defina la igualdad, todos los objetos que son iguales según `Ds\Hashable::equals` deben tener el mismo valor de hash. Los valores de hash de los objetos iguales no tienen que ser únicos, por ejemplo se podría simplemente devolver `true` para todos los objetos y nada se rompería - la única implicación sería que las tablas de hash se convertirían en listas enlazadas porque todos los objetos serían hasheados en el mismo cubo. Es por lo tanto muy importante que se elija un buen valor de hash, como un ID o una dirección de correo electrónico.
Este método permite usar objetos como claves en estructuras tales como `Ds\Map` y `Ds\Set`, o cualquier otra estructura de búsqueda que respete esta interfaz.
> [!CAUTION]
> No elija un valor que podría cambiar en el objeto, como una propiedad pública. Las búsquedas en las tablas de hash fallarían porque el hash ha cambiado.
> [!CAUTION]
> Todos los objetos que son iguales deben tener el mismo valor de hash.
## Parámetros
Esta función no contiene ningún parámetro.
## Valores devueltos
Un valor escalar para usar como valor de hash de este objeto.
## Ejemplos
Ejemplo de `Ds\Hashable::hash`
```php