Note that the contents (properties) of the object are NOT hashed by the function, merely its internal handle and handler table pointer. This is sufficient to guarantee that any two objects simultaneously co-residing in memory will have different hashes. Uniqueness is not guaranteed between objects that did not reside in memory simultaneously, for example:
var_dump(spl_object_hash(new stdClass()), spl_object_hash(new stdClass()));
Running this alone will usually generate the same hashes, since PHP reuses the internal handle for the first stdClass after it has been dereferenced and destroyed when it creates the second stdClass.
spl_object_hash
(PHP 5 >= 5.2.0)
spl_object_hash — 指定したオブジェクトのハッシュ ID を返す
説明
string spl_object_hash
( object $obj
)
この関数は、オブジェクトの一意な識別子を返します。この ID は、 オブジェクトを保存する際のハッシュのキーとして使用できますし、 オブジェクトを識別するための値として使用することもできます。
パラメータ
- object
-
何らかのオブジェクト。
返り値
各オブジェクトに固有で、同一オブジェクトに対しては常に同じ値となる文字列を返します。
例
例1 spl_object_hash() の例
<?php
$id = spl_object_hash($object);
$storage[$id] = $object;
?>
spl_object_hash
planetbeing
06-Jul-2007 08:40
06-Jul-2007 08:40
