print_r返回值不正确

时间:2013-01-08 18:01:40

标签: php debugging

我对print_r功能有点麻烦。毫无疑问,我在操作中误解了一些东西......基本上,我在类中有一个对象数组,如下所示:

public $fields = array();

像这样分配:

$oField = new Field();
/* property assignments to $oField omitted for brevity */
$this->fields[$i] = $oField;

现在在主类中,我试图捕获调试信息:

$this->debuginfo = print_r($this->fields, true);

当输出$this->debuginfo的值时,它只是说“数组” - 基本上不会爆炸数组。如果我定期print_r($this->fields);,它会给出预期的结果。

这是我第一次尝试使用print_r返回结果而不是输出到屏幕,所以我确信我只是遗漏了一些东西,但在阅读php文档时,这就是似乎要实施。我错过了什么?

感谢您的帮助!

更新 print_r($var, true)确实在我写完的时候正确地返回了“爆炸”变量。感谢 dev-null 的评论,这给了我一些思考的东西,引导我解决了我的问题。

1 个答案:

答案 0 :(得分:1)

尝试 var_export()。 var_export()获取有关给定变量的结构化信息。

示例:

$this->debuginfo = var_export($this->fields, true);

参考:http://php.net/manual/en/function.var-export.php