Php 函数结束时是否清除了局部函数变量的内存?

Php 函数结束时是否清除了局部函数变量的内存?,php,function,memory,memory-management,local-variables,Php,Function,Memory,Memory Management,Local Variables,考虑以下情况 $var = 'Lots of information'; function go($var) { // Do stuff } 现在,当PHP退出函数时,它是否会自动清除函数中所有局部变量的内存,或者我应该执行以下操作: unset($var); …在存储大量数据的任何局部变量的函数中?这个问题涉及变量范围的概念。在函数内部,变量是“包含的”,除非声明为全局变量,否则与函数外部同名的变量无关。因此,如果您在函数中创建了一个大变量,并且希望取消设置()该变量,则需要

考虑以下情况

$var = 'Lots of information';

function go($var) {

    // Do stuff

}
现在,当PHP退出函数时,它是否会自动清除函数中所有局部变量的内存,或者我应该执行以下操作:

unset($var);

…在存储大量数据的任何局部变量的函数中?

这个问题涉及变量范围的概念。在函数内部,变量是“包含的”,除非声明为全局变量,否则与函数外部同名的变量无关。因此,如果您在函数中创建了一个大变量,并且希望取消设置()该变量,则需要在函数中取消设置()。这一页很重要,特别是关于“全局”和“静态”变量的部分。PHP还有一种方法,可以在变量名前面使用一个符号通过引用传递变量。在这种情况下,函数操作的是变量本身,而不是变量的函数副本。

它将在功能范围内清除自身。这意味着函数的
$var
参数在函数调用后将不再存在。
注意,
$var='大量信息'在功能块之外,因此不会自动清除。在这种情况下,全局范围内的
$var
和函数范围内的
$var
是两个不同的东西,在函数块内,函数范围内只存在
$var

是的。。。我知道它们是不同的,这就是为什么我想确保本地函数1被清除,因为它在函数结束后变得无用。想要保持正常的状态。