2

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

$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

4 回答 4

9

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

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

同样正如@cHao指出的那样,如果您<pre>在数据中出现任何标签,则需要通过htmlentities()or传递结果htmlspecialchars()

于 2013-06-07T16:32:54.143 回答
7

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

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

编辑:

要连接输出,您必须设置 to 的第二个参数print_rtrue返回值而不是回显它:

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

print_r (mixed $value, bool $return = false) : string|bool
如果你想捕获 的输出print_r(),使用return参数。当此参数设置为 true 时,print_r()将返回信息而不是打印它。

于 2013-06-07T16:32:44.410 回答
1

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

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

而已。如果您可能想知道为什么我使用,而不是.

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

于 2013-06-07T16:33:58.523 回答
1

简单的方法,使用 var_dump

echo '<pre>' , var_dump($variable) , '</pre>';
于 2021-02-05T12:48:59.243 回答