Ds\Hashable::hash() 函数可以返回一个标量值作为哈希值。
用法
public abstract mixed Ds\Hashable::hash( void )
Ds\Hashable::hash() 函数可以返回一个标量值作为对象的哈希值。
虽然哈希值不定义相等,但所有根据 Ds\Hashable::equals() 函数相等的对象必须具有相同的哈希值。相等对象的哈希值不必唯一。例如,我们可以只为所有对象返回 true,没有任何问题。唯一的含义是哈希表会变成链表,因为我们所有的对象都可以哈希到同一个桶中。因此,我们可以选择一个好的哈希值(例如 ID 或电子邮件地址)非常重要。
Ds\Hashable::hash() 函数可以允许对象用作 Ds\Map 和 Ds\Set 等结构中的键,或任何其他遵循此接口的查找结构。
示例
<?php
class HashableObject implements \Ds\Hashable {
private $name;
private $email;
public function __construct($name, $email) {
$this->name = $name;
$this->email = $email;
}
public function hash() {
return $this->email;
}
public function equals($obj):bool {
return $this->name === $obj->name && $this->email === $obj->email;
}
}
?>
相关用法
- PHP Ds\Queue::push()用法及代码示例
- PHP Ds\Sequence remove()用法及代码示例
- PHP Ds\Vector unshift()用法及代码示例
- PHP Ds\Vector last()用法及代码示例
- PHP Ds\Map putAll()用法及代码示例
- PHP Ds\PriorityQueue pop()用法及代码示例
- PHP Ds\Map slice()用法及代码示例
- PHP Ds\Vector merge()用法及代码示例
- PHP Ds\Set capacity()用法及代码示例
- PHP Ds\Collection::clear()用法及代码示例
- PHP Ds\Queue pop()用法及代码示例
- PHP Ds\Set __construct()用法及代码示例
- PHP Ds\Deque clear()用法及代码示例
- PHP Ds\Set allocate()用法及代码示例
- PHP Ds\Set reverse()用法及代码示例
- PHP Ds\Vector rotate()用法及代码示例
- PHP Ds\Pair toArray()用法及代码示例
注:本文由纯净天空筛选整理自 PHP - Ds\Hashable::hash() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。