2011-04-06 94 views
11

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

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

非常感谢您的帮助和评论!

+0

变量在局部范围是在功能执行(端)销毁(释放存储器)。 – 2011-04-06 04:01:23

+0

谢谢大家的回答。 – Martin 2011-04-06 04:29:02

回答

7

在函数中定义和使用的局部变量在函数执行后不会自动取消设置。而是将它们标记为由垃圾收集器收集。除非你使用局部变量的定义消耗大量内存,否则实际上并不需要明确地取消它们。让垃圾收集器完成它的工作。

+0

无论如何要做的手动函数返回之前? – 2015-03-03 18:48:07

+0

http://php.net/manual/en/function.unset.php – 2016-08-02 22:47:50

0

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

我不认为他们的内存会自动清除,相反,当需要额外的内存时它们会被清除。

0

是的,任何没有声明为全局INSIDE函数的函数不会在函数外部存在。一旦函数执行完毕,这些值不再存在于mem中。

PHP: Variable Scope

相关问题