设我有这个 PHP 代码:
$FooBar = "a string";
然后我需要这样的功能:
print_var_name($FooBar);
打印:
FooBar
任何想法如何实现这一目标?这在PHP中甚至可能吗?
您可以使用get_defined_vars()来查找与您要查找的名称具有相同值的变量的名称。显然这并不总是有效,因为不同的变量通常具有相同的值,但这是我能想到的唯一方法。
编辑: get_defined_vars() 似乎无法正常工作,它返回 ‘var’ 因为在函数本身中使用了 $var。$GLOBALS 似乎有效,所以我将其更改为。
function print_var_name($var) { foreach($GLOBALS as $var_name => $value) { if ($value === $var) { return $var_name; } } return false; }
编辑:需要明确的是,在 PHP 中没有这样做的好方法,这可能是因为你不应该这样做。可能有更好的方法来做你想做的事情。