析构函数:当一个对象变成垃圾或当对象被显式销毁时执行。

GC(垃圾收集器)

在PHP中,当没有变量指向的对象,对象是garbage.php将记忆摧毁它。

这是PHP的垃圾收集器(垃圾收集器)垃圾处理机制,以防止内存溢出。

当PHP线程结束时,当前占用的所有内存空间都将被销毁,当前程序中的所有对象也将被销毁。

__destruct()函数

的__destruct()析构函数执行垃圾回收的对象时。

析构函数也可以显式调用,但不执行。

系统自动调用析构函数,不调用程序中对象的虚拟函数。

析构函数不能有参数。

如下面的程序所示,在程序结束之前,所有对象都被销毁。
复制代码代码如下所示:
<
类人{
公共功能__destruct(){
回声析构函数现在执行;
这里通常用于设置、关闭数据库、关闭文件,等等;
}
}

新人();
($ i = 0;$ i < 5;$ + +){
$ i;
}

>

程序运行结果:
零
一
二
三
四

析构函数现在执行。
它通常用于设置、关闭数据库、关闭文件,等等。

当对象未被定向时,对象就会被销毁。
复制代码代码如下所示:
<
类人{
公共功能__destruct(){
回声析构函数现在执行;
}
}

新人();
在这里执行
$abc;
($ i = 0;$ i < 5;$ + +){
$ i;
}

>

程序运行结果:

析构函数现在执行。
零
一
二
三
四

在上面的第十行中,我们设置为P空或第十一线给P一个字符串,P指的是一个垃圾object.php销毁该对象的垃圾对象。
PHP设置变量
复制代码代码如下所示:
<

类人{
公共功能__destruct(){
回声析构函数现在执行;
}
}

新人();
美元= P;

设置(P);
现在P被摧毁了,对象也被销毁了吗;

($ i = 0;$ i < 5;$ + +){
$ i;
}

回声现在也破坏了P1,也就是说,没有任何变量指向对象;
unset($ P1); / /现在没有指向对象的变量,函数在这里的表现

>

程序运行结果:

现在P被摧毁了,这个物体也被摧毁了吗
零
一
二
三
四

现在P1也被破坏了,也就是说,没有任何指向对象的变量。

析构函数现在执行。

取消破坏变量指向的对象,而不是对象。