当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP Ds\Hashable::hash()用法及代码示例



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\Hashable::hash() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。