格式化print_r或var_dump结果

时间:2013-06-07 16:30:27

标签: php

我想在此输出中显示新的行和缩进

$a = array(1,2,3,4);
print_r($a);

所以不要这样:

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

我会得到这样的东西:

Array ( 
  [0] => 1 
  [1] => 2 
  [2] => 3 
  [3] => 4
  )

4 个答案:

答案 0 :(得分:9)

使用HTML <pre>标记。还记得将true作为第二个参数传递给print_r()

echo '<pre>' . htmlentities(print_r($a, true)) . '</pre>';

同样在@cHao指出,如果您在数据中发现任何<pre>个标记,则需要通过htmlentities()htmlspecialchars()传递结果。

答案 1 :(得分:6)

我建议使用HTML的<pre>标记(预格式化):

echo "<pre>";print_r($a);echo"</pre>";

编辑:

要连接输出,必须将print_r的第二个参数设置为true以返回值而不是回显它:

echo "<pre>" . print_r($a,true) . "</pre>";

答案 2 :(得分:1)

只需这样做(使用HTML时,我假设):

echo "<pre>", print_r($a), "</pre>"

就是这样。如果您可能想知道为什么我使用,代替.

echo使用多个参数,使用逗号比字符串连接更快。

答案 3 :(得分:1)

简单的方法,使用 var_dump

echo '<pre>' , var_dump($variable) , '</pre>';