将$ var of function转换为string?

时间:2011-05-04 14:23:22

标签: php

我的目标只是调试

  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中。有人可以帮我这么做吗?

2 个答案:

答案 0 :(得分:2)

如果$var是全局变量,请尝试此操作:

   function dbg($var){
       echo "you have passed {$GLOBALS[$var]}";
    }

答案 1 :(得分:1)

嗯,第二种情况相当简单 - 你传递一个字符串,你想显示字符串。不用担心。

但对于第一种情况,我恐怕答案是:不,你不能。

一旦进入函数,PHP就不知道除了值之外传递给它的变量。

我无法确定它会有多大价值。将代码更改为传递名称和值是很简单的 - 例如:

function dbg($name,$value) {
    print "You passed $name, and the value was $value";
}

dbg('test',$test);

尽管如此,这并不是那么好 - 你也可以只使用print_r()和朋友。

如果你真的想要更强大的调试工具,你应该研究xDebug。它是PHP的一个适当的调试工具,它允许您逐行遍历代码,并在程序运行期间的任何时候查看变量的内容(以及许多其他好的功能)。它还与几个流行的IDE很好地集成。