这些正确吗?
任何PHP对象在运行后总是会被删除(如其代码)。
unset($objectName)
只会刺激无论如何都会发生的事情。 (从RAM内存中)删除速度会快一点,但最终是完全一样的。
__destruct
就像一个在删除对象之前运行的事件,因此我们可以拥有它,也可以没有它。任何代码都可以在其中运行。
unset()
与__destruct
有关系吗?就像它会去(作为唯一步骤)然后删除?
答案 0 :(得分:3)
变量/对象/资源在脚本执行完毕后会自动删除/重新分配。不必(也不建议)对所有内容调用unset()
。
如果希望在脚本结束之前删除/取消分配某些内容,则可以显式unset()
进行操作,它将立即发生,而不是在脚本结束时发生。这样可以释放内存,但通常仅用于消除再次引用该事物的可能性。
正确。
unset()与__destruct有关系吗
是的。在销毁对象之前(通过显式unset()
或到达脚本结尾),将调用__destruct()
方法(如果存在)。