Ds\Hashable::hash
(PECL ds >= 1.0.0)
Ds\Hashable::hash — Повертає скалярне значення для використання як значення хешу
Опис
abstract public Ds\Hashable::hash(): mixed
Повертає скалярне значення, яке використовуватиметься як значення хеша об'єктів.
У той час як значення хеша саме по собі не гарантує ідентичність об'єктів, але все ж таки всі об'єкти, рівні при перевірці за допомогою функції Ds\Hashable::equals(), повинні мати те саме значення хеша. Значення хешей для однакових об'єктів мають бути унікальними, наприклад ви можете легко повертати true
для всіх об'єктів нічого не зламається. Єдиним наслідком буде те, що ваша хеш-таблиця перетвориться на пов'язаний список, тому що хеші всіх об'єктів будуть утримуватися в одному блоці. З цього випливає, що важливо вибирати хороше значення хеша, наприклад, унікальний ідентифікатор або адресу електронної пошти.
Цей метод дозволяє використовувати об'єкти як ключі в таких структурах як Ds\Map і Ds\Set або будь-які інші структури, що розпізнають цей інтерфейс.
Застереження
Не вибираєте значення, яке може змінитися, наприклад, із загальнодоступних властивостей. Пошук у хеш-таблиці завершиться невдачею, якщо це значення зміниться.
Застереження
Всі однакові об'єкти повинні мати те саме значення хешу.
Список параметрів
Ця функція не має параметрів.
Значення, що повертаються
Скалярне значення використовувати як значення хеша.
Приклади
Приклад #1 Приклад використанняDs\Hashable::hash()****
Loading...