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

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

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

提前感谢您的帮助和 cmets!

【问题讨论】:

  • 局部范围内的变量在函数执行(结束)时被销毁(释放内存)。
  • 谢谢大家的回答。

标签: php memory variables user-defined-functions unset


【解决方案1】:

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

PHP: Variable Scope

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-03
        • 2011-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多