如何使用该var_dump函数获取PHP参考ID :
// PHP 5.2.6
class Test {}
$test1 = new Test; var_dump($test1);
$test1b = $test1; var_dump($test1b);
$test2 = new Test; var_dump($test2);
Run Code Online (Sandbox Code Playgroud)
导致:
object(Test)#1 (0) {}
object(Test)#1 (0) {}
object(Test)#2 (0) {}
Run Code Online (Sandbox Code Playgroud)
看,var_dump可以告诉哪些引用是相同的,没有直接比较,并打印它们的引用ID #1和#2.如何我访问参考ID?
我想一个解决方案可能是使用spl_object_hash:
此函数返回对象的唯一标识符.该id可以用作用于存储对象或用于识别对象的散列键.
这不是一个像你所得到的"简单"数字var_dump,但我想它总比没有好......
例如,使用这部分代码,灵感来自您的:
$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 />';
Run Code Online (Sandbox Code Playgroud)
我得到这个输出:
000000002c836d1d000000006bfbdc77
000000002c836d1d000000006bfbdc77
000000002c836d1e000000006bfbdc77
Run Code Online (Sandbox Code Playgroud)