當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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