为了账号安全,请及时绑定邮箱和手机立即绑定

为什么实例化对象析构函数会被调用

<?php

class Car {

    //增加构造函数与析构函数

    function __construct(){

        print '父类构造函数被调用 \n';

    }

    function __destruct(){

        print '析构函数被调用 \n';

        

    }

}

$car = new Car();  //实例化时会调用构造函数


正在回答

2 回答

<?php
class Car {
    //增加构造函数与析构函数
    public $name = 'fff';
function __construct() {
       print "构造函数被调用 \n";
   }
function __destruct() {
       print "析构函数被调用 \n";
}
}
$car = new Car();
echo $car->name;
echo '<br />';

当PHP代码执行完毕以后,会自动回收与销毁对象

这样你应该能明白

1 回复 有任何疑惑可以回复我~

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

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

为什么不是 构造 析构 hello?

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

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


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么实例化对象析构函数会被调用

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信