我的目标只是调试
function dbg($var){
echo "you have passed $var";
}
call dbg($test)
output:
you have passed test
call dbg("var")
output:
you have passed "var"
在php中,谁能帮我做这个? 如果$var
是一个全局变量,试试这个:
function dbg($var){
echo "you have passed {$GLOBALS[$var]}";
}
第二种情况相当简单——你传递一个字符串,你想显示这个字符串。不用担心。
但是对于第一种情况,我恐怕答案是:不,你不能。
一旦进入函数内部,PHP就不知道传递给它的变量的任何信息,除了值。
我真的看不出它会有多大价值。将代码更改为传入一个名称和一个值是很简单的,例如:
function dbg($name,$value) {
print "You passed $name, and the value was $value";
}
dbg('test',$test);
这也不是那么好——你也可以只使用print_r()
和朋友。
如果你真的想要更强大的调试工具,你应该看看xDebug。它是一个适合PHP的调试工具,它允许您逐行调试代码,并在程序运行期间的任何时刻查看变量的内容(以及许多其他优秀特性)。它还与几个流行的ide很好地集成。