我想知道为什么实例化对象后,析构函数也被调用了

来源:2-5 PHP类和对象之构造函数和析构函数

qq_Young_Foreve_03924380

2016-09-08 22:57

如果我就这么写的话  输出 构造  析构  可是我并没有销毁对象啊 为什么析构函数背调用了

class Car {
  function __construct() {
      print "构造 \n";
  }
  function __destruct() {
      print "析构 \n";
  }
}
$car = new Car();

写回答 关注

2回答

  • 下雨何
    2016-09-09 01:38:15
    已采纳

    如果你在$car = new Car();后面打上echo “hello”;

    你会发现浏览器打印的是  构造  hello  析构 

    为什么不是 构造 析构 hello?

    原因是php页面执行完请求后,内存中就销毁它了,同时这个页面创造的对象就会被销毁

    对象被销毁,不就自动调用析构函数了?

    下雨何 回复足迹666

    好久没登,还是回应一下,是最终都会运行

    2017-02-23 23:10:29

    共 3 条回复 >

  • ytlmike
    2016-09-08 23:14:48

    当PHP代码执行完毕以后,会自动回收与销毁对象...应该是这样吧

    qq_You...

    不明白是什么意思。能不能解释的详细一下

    2016-09-08 23:44:45

    共 1 条回复 >

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181730 学习 · 2575 问题

查看课程

相似问题