PHP.mk документација

Ds\Hashable::hash

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

ds-hashable.hash.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека ds-hashable.hash.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Ds\Hashable::hash

Референца за `ds-hashable.hash.php` со подобрена типографија и навигација.

ds-hashable.hash.php

Ds\Hashable::hash

Класата Vector

Ds\Hashable::hashReturns a scalar value to be used as a hash value

= NULL

abstract public Ds\Hashable::hash(): mixed

Враќа скаларна вредност што ќе се користи како вредност на хеш.

Враќа скаларна вредност што ќе се користи како вредност на хеш на објектите. Додека вредноста на хеш не дефинира еднаквост, сите објекти што се еднакви според Ds\Hashable::equals() true мора да ја имаат истата вредност на хеш. Вредностите на хеш на еднакви објекти не мора да бидат уникатни, на пример, можете само да вратите

за сите објекти и ништо нема да се скрши - единствената импликација би била дека табелите со хеш потоа се претвораат во поврзани списоци бидејќи сите ваши објекти ќе бидат хеширани во истата кофа. Затоа е многу важно да изберете добра вредност на хеш, како што е ID или адреса на е-пошта. Ds\Map and Ds\SetОвој метод им овозможува на објектите да се користат како клучеви во структури како

Безбедност: стандардниот сет на знаци

, или која било друга структура за пребарување што ја почитува овој интерфејс.

Безбедност: стандардниот сет на знаци

Не избирајте вредност што може да се промени во објектот, како што е јавен параметар. Пребарувањата во табелата со хеш ќе пропаднат бидејќи хешот се променил.

Параметри

Оваа функција нема параметри.

Вратени вредности

Сите објекти што се еднакви мора да ја имаат истата вредност на хеш.

Примери

Пример #1 Скаларна вредност што ќе се користи како вредност на хеш на овој објект. example

<?php
class HashableObject implements \Ds\Hashable
{
private
$name;
private
$email;

public function
__construct($name, $email)
{
$this->name = $name;
$this->email = $email;
}

/**
* Should return the same value for all equal objects, but doesn't have to
* be unique. This value will not be used to determine equality.
*/
public function hash()
{
return
$this->email;
}

/**
* This determines equality, usually during a hash table lookup to determine
* if the bucket's key matches the lookup key. The hash has to be equal if
* the objects are equal, otherwise this determination wouldn't be reached.
*/
public function equals($obj): bool
{
return
$this->name === $obj->name
&& $this->email === $obj->email;
}
}
?>

Белешки од корисници

Нема белешки од корисници за оваа страница.
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.