例如,我有这个功能:
function foo($whaaaat){
$var1 = 'a';
$a = 1;
$b = 2;
...
// here unset all variables defined above (including arguments)
require 'somefile.php';
}
那么,我可以在需求点之前取消所有这些变量吗?
显然没有在每个变量上手动调用unset,因为我想出了自己:)
是否有一些功能可以做到这一点?
解决方法:
假设这些函数内变量都没有被声明为全局变量,你可以尝试类似的东西
array_diff(get_defined_vars(), $GLOBALS)
获取局部变量的列表,然后循环结果以取消设置它们.