如何在PHP中以字符串的形式获得变量名?假设我有以下PHP代码:$FooBar = "a string";然后我需要这样的函数:print_var_name($FooBar);其中的指纹:FooBar有什么办法可以做到吗?这在PHP中是可能的吗?
3 回答
![?](http://img1.sycdn.imooc.com/54586653000151cd02200220-100-100.jpg)
守着一只汪
TA贡献1872条经验 获得超3个赞
function print_var_name($var) { foreach($GLOBALS as $var_name => $value) { if ($value === $var) { return $var_name; } } return false;}
![?](http://img1.sycdn.imooc.com/545861b80001d27c02200220-100-100.jpg)
慕码人2483693
TA贡献1860条经验 获得超9个赞
耸肩
<?phpfunction varName( $v ) { $trace = debug_backtrace(); $vLine = file( __FILE__ ); $fLine = $vLine[ $trace[0]['line'] - 1 ]; preg_match( "#\\$(\w+)#", $fLine, $match ); print_r( $match );}$foo = "knight";$bar = array( 1, 2, 3 );$baz = 12345;varName( $foo );varName( $bar );varName( $baz );?>// Returns Array ( [0] => $foo [1] => foo ) Array ( [0] => $bar [1] => bar ) Array ( [0] => $baz [1] => baz )
- 3 回答
- 0 关注
- 1336 浏览
添加回答
举报
0/150
提交
取消