4

我的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)确实像我写的那样正确地返回了“exploded”变量。感谢dev-null的评论,这给了我一些思考,让我找到了我的问题。

4

1 回答 1

1

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

例子:

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

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

于 2013-01-09T08:37:49.253 回答