(PHP 5 >= 5.4.0, PHP 7)
Calculate a unique identifier for the contained objects
public string SplObjectStorage::getHash ( object $object )
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.
Parameters:
object
The object whose identifier is to be calculated.
Returns:
A string with the calculated identifier.
Exception:
A RuntimeException is thrown when the returned value is not a string.
Examples:
SplObjectStorage::getHash() example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?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" ; ?> |
The above example will output something similar to:
2 3
See also:
Please login to continue.