说我有这个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中没有好的方法可以这样做,这可能是因为您不必这样做。可能有更好的方法来做您想做的事情。