Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中返回之前取消设置创建的变量或对象_Php - Fatal编程技术网

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

在php中返回之前取消设置创建的变量或对象,php,Php,在内存优化方面,如果对服务器的请求太多,这两个脚本之间是否有任何区别: 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);

内存优化方面
,如果对服务器的请求太多,这两个脚本之间是否有任何区别:

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;
}
如果是,请解释一下原因

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


提前感谢

接受的答案,本文指出,当函数返回时会发生垃圾收集,因此局部变量使用的内存在返回时会自动释放。因此,在返回之前显式调用unset似乎不会提供内存优化。

我很肯定这没有任何区别,因为一旦函数运行完毕并返回值,函数中的变量就会自动从内存中“删除”。PHP应该在使用后从内存中删除,但至少对我来说,手动取消设置是一种很好的做法