在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应该在使用后从内存中删除,但至少对我来说,手动取消设置是一种很好的做法