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)私が書いたように、実際に「展開された」変数を適切に返します。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 に答える