PHP函数中使用的变量会在函数执行后自动取消设置吗?

Posted

技术标签:

【中文标题】PHP函数中使用的变量会在函数执行后自动取消设置吗?【英文标题】:Are variables used in PHP functions automatically unset after function execution? 【发布时间】:2011-07-30 11:55:36 【问题描述】:

我有一个关于 php 函数中使用的变量/数组的问题。执行函数后,是否所有变量都自动取消设置?如果没有,在执行整个 PHP 页面后,它们何时完全取消设置?过了一段时间?

在函数结束时取消设置函数中使用的所有变量以从内存中释放是否有用?

提前感谢您的帮助和 cmets!

【问题讨论】:

局部范围内的变量在函数执行(结束)时被销毁(释放内存)。 谢谢大家的回答。 【参考方案1】:

是的,任何未在函数内部声明的全局函数都不会存在于函数外部。一旦函数执行,值就不再存在于内存中。

PHP: Variable Scope

【讨论】:

【参考方案2】:

是的,一旦它们的作用域完成(函数返回),它们就会被释放。

我不认为它们的内存会自动清除,而是在需要额外内存时会被清除。

【讨论】:

【参考方案3】:

在函数中定义和使用的局部变量在函数执行后不会自动取消设置。相反,它们被垃圾收集器标记为收集。除非您使用局部变量的定义消耗大量内存,否则实际上不需要显式取消设置它们。让垃圾收集器完成它的工作。

【讨论】:

以上是关于PHP函数中使用的变量会在函数执行后自动取消设置吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在php中取消设置全局变量?

php的魔术方法

从当前函数中取消设置所有定义的变量

php static 变量

关于php unset函数的问题

用js的confirm弹出一个框 点击确定后如何执行一个php函数?