我正在使用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 )
等。
造成这种情况的原因是什么?
答案 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上的“控制台”。