我正在为我的webby编写一个简单的脚本,如果发生错误500,会向我发送电子邮件。我想转储所有可能的变量,会话,POST或其他任何错误发生时的情况,以便我可以尽可能精确地分析问题。如何在PHP中打印变量名称?
下面是我对现在的代码:它检查只是GLOBALS $
function variable_name(&$var) {
$var_name = array_search($var, $GLOBALS);
return "{$var_name} = \"{$var}\"";
}
$bar = "whatever";
echo variable_name($bar); // bar = "whatever"
,但我需要的东西,将检查和打印也_POST,$ _SESSION,类字段等我GOOGLE了一下,发现了复杂的功能,看起来像是一件过于简单的任务。有没有什么简单的这个目的,或者我应该简单地为每个变量类型写一个函数?
难道你不能''print_r'你想要的东西被转储到电子邮件消息体中,例如superglobals,debug_backtrace等? – Gordon 2010-02-10 12:53:15
如果有多个具有相同值的变量会怎么样?或者如果变量不在全局范围内? – Gumbo 2010-02-10 12:53:22
@戈登:据我所知print_r总是返回1,所以我不能。我可以使用var_dump tho。但这不是问题的关键。我只是想知道是否可以打印变量名称。对不起,如果我使用误导性的例子。 – 2010-02-10 12:55:50