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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。