array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.spl-object-hash.php', 1 => 'spl_object_hash', ), 'up' => array ( 0 => 'ref.spl.php', 1 => 'SPL 関数', ), 'prev' => array ( 0 => 'function.spl-classes.php', 1 => 'spl_classes', ), 'next' => array ( 0 => 'function.spl-object-id.php', 1 => 'spl_object_id', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/spl/functions/spl-object-hash.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
spl_object_hash — 指定したオブジェクトのハッシュ ID を返す
この関数は、オブジェクトの一意な識別子を返します。この ID は、 オブジェクトを保存する際のハッシュのキーとして使えます。 また、オブジェクトが破棄されるまでは、オブジェクトを識別するための値としても使えます。 オブジェクトが破棄されると、そのハッシュが他のオブジェクトで再利用されてしまうことがあります。 この振る舞いは、spl_object_id() に似ています。
object
何らかのオブジェクト。
現在存在する各オブジェクトに固有で、同一オブジェクトに対しては常に同じ値となる文字列を返します。
例1 spl_object_hash() の例
<?php
$id = spl_object_hash($object);
$storage[$id] = $object;
?>
注意:
オブジェクトが破壊されるとき、そのハッシュが他のオブジェクトで再利用されてしまうことがあります。
注意:
オブジェクトの ハッシュID は、
===
や!==
を使って比較すべきです。なぜなら、この関数が返すハッシュID が 数値形式の文字列 になる可能性があるからです。 たとえば以下のような値がありえます:0000000000000e600000000000000000