print_r没有在浏览器中正确格式化输出


print_r is not formatting output correctly in a browser

我对数组使用print_r,但它没有在浏览器中以"可读"的方式打印它。它只是在打印,就好像我在回应:

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 ) 

等等。

是什么原因造成的?

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

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

除非在<pre>块中,否则列表和回车不会以HTML形式呈现。

浏览器自动将字符之间的所有换行符、制表符和空格折叠到一个空格

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

用鼠标右键点击页面并点击"查看页面源代码",您应该会看到原始文本。。。

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