沃梦达 / 编程问答 / php问题 / 正文

删除PHP对象;还包括unset()和__destruct

Deletion of a PHP object; also unset() and __destruct(删除PHP对象;还包括unset()和__destruct)

本文介绍了删除PHP对象;还包括unset()和__destruct的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这些是否正确:

  1. 任何PHP对象在运行后都会被删除(就像它的代码一样)。

  2. unset($objectName)只是刺激无论如何都会发生的事情。删除会更快一点(从RAM内存中),但最终是完全相同的。

  3. __destruct类似于在删除对象之前运行的事件,因此我们可以拥有它,也可以不拥有它。任何代码都可以在其中运行。

unset()__destruct有关吗?就像它会转到该步骤(作为唯一步骤)然后删除吗?

推荐答案

  1. 变量/对象/资源在它们所在的脚本执行完成时自动删除/释放。没有必要(或建议)对所有内容都调用unset()

  2. 如果您希望在脚本结束之前删除/释放某些内容,您可以显式unset(),它将立即发生,而不是脚本结束。这可以释放内存,但通常仅用于消除再次引用该对象的可能性。

  3. 正确。

unset()与__destruct有关吗?

是的。就在对象被销毁(通过显式unset()或到达脚本末尾)之前,调用__destruct()方法(如果存在)。

这篇关于删除PHP对象;还包括unset()和__destruct的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:删除PHP对象;还包括unset()和__destruct