PHP:print_r很难看

时间:2012-01-30 20:37:41

标签: php

我正在使用print_r作为一个数组,但它没有以“人类可读”的方式打印它只是打印就好像我回应了..i.e:

Array ( [0] => Array ( [uid1] => 012345 [uid2] => 012345 ) [1] => Array ( [uid1] => 012345 [uid2] => 622279 ) [2] => 012345 ( [uid1] => 012345 [uid2] => 012345 ) [3] => Array ( [uid1] => 012345 [uid2] => 012345 ) 

等。

造成这种情况的原因是什么?

5 个答案:

答案 0 :(得分:12)

如果您要将其输出到浏览器,请执行以下操作:

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

除非在<pre>块内,否则制表和回车不会在HTML中呈现。

答案 1 :(得分:1)

您可以使用var_dump($array)echo nl2br(print_r($array, true));

答案 2 :(得分:1)

浏览器会自动折叠字符之间的所有换行符,制表符和空格到单个空格,这会产生“不可读”的输出。为了保留所有这些内容,请尝试将print_r输出包装在<code><pre>

答案 3 :(得分:0)

在页面上用鼠标右键单击并点击“查看页面源”,您应该看到原始文本......

答案 4 :(得分:0)

如果您的代码没有生成漂亮的html视图的任务,例如,您只是使用某个类,则可以通过发送pre来避免header("Content-type: text/plain")包装。所有输出都将预先格式化为带有\n换行符的等宽文本。 在其他情况下,更好的方法是在日志文件中使用输出。日志文件可能由外部应用程序查看,如Mac上的“控制台”。