在php中返回之前取消设置创建的变量或对象

时间:2014-03-05 18:06:20

标签: php

Memory Optimization而言,如果对服务器的请求太多,这两个脚本之间是否有任何区别:

public function func1(){
    $user = new User::find(10);
    $name = $user->name;
    return $name;
}


public function func2(){
    $user = new User::find(10);
    $name = $user->name;
    unset($user);
    return $name;
}

如果是的话,请你解释原因。

AND,在退出函数或方法时,PHP本身不会取消设置变量吗?

提前致谢

1 个答案:

答案 0 :(得分:2)

questions-about-php-unset-function和文章better-understanding-phps-garbage-collection的已接受答案表明函数返回时会发生垃圾收集,因此本地变量使用的内存会在返回时自动释放。因此,在返回之前显式调用unset似乎不会提供内存优化。