How do I get the PHP reference ID, as is possible with the var_dump
function:
// PHP 5.2.6
class Test {}
$test1 = new Test; var_dump($test1);
$test1b = $test1; var_dump($test1b);
$test2 = new Test; var_dump($test2);
Resulting in:
object(Test)#1 (0) {}
object(Test)#1 (0) {}
object(Test)#2 (0) {}
See, var_dump
can tell which references are equal without a straight-up comparison, and it prints their reference ID #1
and #2
. How do I access that reference ID?
I suppose a solution could be to use spl_object_hash
:
This function returns a unique identifier for the object. This id can be used as a hash key for storing objects or for identifying an object.
It's not a "simple" number like what you get with var_dump
, but I suppose it's better than nothing...
For instance, with this portion of code, inspired from yours :
$test1 = new Test;
$test1b = $test1;
$test2 = new Test;
echo spl_object_hash($test1) . '<br />';
echo spl_object_hash($test1b) . '<br />';
echo spl_object_hash($test2) . '<br />';
I get this output :
000000002c836d1d000000006bfbdc77
000000002c836d1d000000006bfbdc77
000000002c836d1e000000006bfbdc77
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With