我想转储在本地范围内定义的所有变量。我检查了get_defined_vars()
但它还包括全局范围内的变量。
是否有一些内置的PHP函数允许您在本地范围内转储变量?
答案 0 :(得分:4)
get_defined_vars
在调用范围内工作。如果在全局范围内调用它,它将获取该范围内的每个变量。在函数内调用它将获得该函数范围内的所有变量。
这一切都是相对的,所以根据你所说的你会得到不同的结果。如果只需要局部变量,则在本地范围内调用该函数。如果要获取全局变量,则在全局非本地范围内调用该函数。
答案 1 :(得分:1)
正如其他人所提到的,get_defined_vars()将返回调用范围内的所有变量。一种选择是根据约定过滤它返回的内容:
$arr = get_defined_vars();
foreach ($arr as $key => $value) {
if (preg_match('/_[A-Z]+/', $key)) unset($arr[$key]);
}
print_r($arr);
答案 2 :(得分:0)
get_defined_vars()
返回在调用它的范围内可见的变量 -