# SplObjectStorage::getHash

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SplObjectStorage::getHash — Calculate a unique identifier for the contained objects

### 说明

public SplObjectStorage::getHash(object `$object`): string

This method calculates an identifier for the objects added to an SplObjectStorage object.

The implementation in SplObjectStorage returns the same value as spl_object_hash().

The storage object will never contain more than one object with the same identifier. As such, it can be used to implement a set (a collection of unique values) where the quality of an object being unique is determined by the value returned by this function being unique.

### 参数

`object`

  The object whose identifier is to be calculated.

### 返回值

A string with the calculated identifier.

### 错误／异常

A RuntimeException is thrown when the returned value is not a string.

### 示例

示例 #1 SplObjectStorage::getHash() example

`<?php
class OneSpecimenPerClassStorage extends SplObjectStorage {
public function getHash($o) {
return get_class($o);
}
}
class A {}
$s = new OneSpecimenPerClassStorage;
$o1 = new stdClass;
$o2 = new stdClass;
$o3 = new A;
$s[$o1] = 1;
//$o2 is considered equal to $o1 so the value is replaced
$s[$o2] = 2;
$s[$o3] = 3;
//these are considered equal to the objects before
//so they can be used to access the values stored under them
$p1 = new stdClass;
$p2 = new A;
echo $s[$p1], "\n";
echo $s[$p2], "\n";
?>`

以上示例的输出类似于：

    2
    3

### 参见

- spl_object_hash() - 返回指定对象的 hash id

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open