php - 关于 var_dump 输出的问题

标签 php object var-dump

当我 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/

相关文章:

javascript - Googlebots 会导致 JS 错误,我应该关心吗?

javascript - 使用 jQuery 在特定结果 div 中单击后,如何显示所有动态单选输入值的总和?

php - 解析 ZoHo CRM API 返回的 XML

c++ - C++中类对象的创建

javascript - 如何仅更改对象的一个​​属性

java - 如何在数组中存储多个值(具有不同类型)并将其打印出来?

php - 如何将 var_dump 的结果捕获到字符串?

php - 如何使用php下载rar文件

php - 将 var_dump 保存到文本文件中

php - cakephp 将一个数组记录为 var_dump