当我 var_dump
一个对象时,输出如下所示:
object(XCTemplate)#2477 (4) {
["id"]=>
string(1) "1"
["attributes"]=>
array(0) {
}
["db_table_name"]=>
string(14) "template_names"
["cache"]=>
array(0) {
}
}
XCTemplate
当然是它的类,但是# 后面的整数(此处:2477)是什么意思?
最佳答案
它是与 XCTemplate
的特定实例关联的唯一 ID。据我所知,这没有记录,也没有办法得到它(除了使用 var_dump()
);我查看了 Reflection
类。
据我所见:
- 每个实例的 ID 都是唯一的;从 1 开始,每个新对象递增 1。这包括每个对象;他们不必属于同一类。
- 销毁一个实例(例如:通过
unset
)释放它的 id,下一个实例化的对象可以(并且将会)使用它。 与变量无关;例如:
$foo = new Foo(); var_dump($foo); $foo = new Foo(); var_dump($foo);
将为不同的实例化生成不同的 id。
这与资源 ID 不同, 您可以将资源 ID 转换为
int
以获取 ID:$resource= curl_init(); var_dump($resource); // resource #1 of type curl print(intval($resource)); // 1 print((int) $resource); // 1
关于php - 关于 var_dump 输出的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3762723/