2

PHP のデバッグのために、次のような pre() 関数を作成しました。

function pre($data)
{
    echo '<pre>'.print_r($data).'</pre>';
}

しかし、本来の改行が表示されていません。例として、これらすべてを 1 行で取得します。

Template_model Object ( [id] => 1 [type] => 1 [shortname] => default [is_custom] => 0 [is_open] => 1 [options] => Array ( [id] => 1 [name] => background_color [value] => #6699CC [type] => 0 [campaign_id] => 8 [user_id] => 11 [template_id] => 1 ) )

一部の部分には改行が必要です。私は何を間違っていますか?

これは初心者に聞こえるかもしれませんが、これを何年も使用していると、何が間違っているのか理解できません。

ページに他の HTML が表示される前に pre 関数を呼び出すことに注意してください。

ありがとう!

4

2 に答える 2

4

print_r文字列を返さず、画面自体にエコーします (TRUE を返します)。

true2 番目のパラメーターとして渡すと、文字列が返されます。

echo '<pre>'.print_r($data, true).'</pre>';
于 2012-12-20T21:08:00.203 に答える
2

独自の出力を処理するpre前に印刷する必要があります。このような:print_r()print_r()

function pre($data) 
{
    echo '<pre>';
    print_r($data);
    echo '</pre>';
}

ただし、オプションのパラメーターを使用した場合に改行が保持されるかどうかはわかりません (代わりに出力を返すように指定します)。codepad がそれについて何と言っているか見てみましょう。

于 2012-12-20T21:07:10.863 に答える