我也想不出一种有效的方法,但我想到了这个。它的工作,为以下有限的用途。
耸肩<?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
)
它基于调用函数的行工作,在该行中,它找到传入的参数。我认为它可以扩展到使用多个参数,但是,正如其他人所说的,如果您能够更好地解释这种情况,另一种解决方案可能会更好。