问答详情
源自:2-5 PHP类和对象之构造函数和析构函数

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

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

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

提问者:qq_Young_Foreve_03924380 2016-09-08 22:57

个回答

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

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

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

    为什么不是 构造 析构 hello?

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

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

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

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