Not quite. It creates a hash of an object, so two objects with the same data yield the same hashes:
var_dump(spl_object_hash(new stdClass()), spl_object_hash(new stdClass()));
I don't believe that it's data dependent. Rather in your example the same memory-space is used for those two objects because they don't exist in parallel. The first is cleared before the second is instantiated.
<?
$x = new stdClass();
$y = new stdClass();
var_dump(spl_object_hash($x), spl_object_hash($y));
?>
This yields a difference.