假设我有以下PHP代码:
$FooBar = "a string";
然后我需要一个如下所示的函数:
print_var_name($FooBar);
其中打印:
FooBar
有什么办法可以做到这一点吗?这在PHP中是可能的吗?
假设我有以下PHP代码:
$FooBar = "a string";
然后我需要一个如下所示的函数:
print_var_name($FooBar);
其中打印:
FooBar
有什么办法可以做到这一点吗?这在PHP中是可能的吗?
您可以使用get_defined_vars()来查找一个变量的名称,该变量的值与您试图查找其名称的变量的值相同.显然,这并不总是有效的,因为不同的变量通常有相同的值,但这是我能想到的唯一方法.
edit:get_fined_vars()似乎不能正常工作,它返回‘var’,因为$var在函数本身中使用.$GLOBAL似乎有效,所以我已将其更改为$GLOBAL.
function print_var_name($var) {
foreach($GLOBALS as $var_name => $value) {
if ($value === $var) {
return $var_name;
}
}
return false;
}
编辑:需要明确的是,在PHP中没有很好的方法可以做到这一点,这可能是因为你不应该这么做.也许有更好的方法来做你想做的事情.