[英]If i do print_r in PHP, it prints the array in junk
如何以树状格式打印数组 - 使其更易于阅读?
尝试:
<pre><?php print_r($var); ?></pre>
它将提供HTML的空白策略修剪的正确树结构。
您是否将输出包装在<pre>
标签中? 这应该会让你得到相当不错的输出,因为它会显示空间。 另一种选择是安装xdebug扩展,然后可以替换var_dump
以便生成更易读的HTML输出。
function pr($var)
{
print '<pre>';
print_r(htmlspecialchars($var));
print '</pre>';
}
pr($myArray);
我发现print_r是一个好主意,如下所示
printf("<pre>%s</pre>", print_r($array, true));
它可能不太理想,但它更容易阅读。
试试看Zend_Debug ,它是Zend Framework中一个相对即插即用的模块,它可以很好地有效地转储复杂变量。
用法:
$my_var = new StdObject(); // or whatever
Zend_Debug::dump($my_var);
die; // optional, prevents routing, forwarding away, etc.
您可以将其打印到错误日志中:
error_log(print_r($myarray,1));
请注意,您将看到\\ n而不是回车符,因为它必须在一行中折叠。
Mabe输出看起来像网页中的垃圾。 尝试查看页面的来源,我想它将采用树状格式。
我可以建议使用var_export($array)
吗?
它使用可解析的PHP语法格式化值
即使你忘记输出<pre>
和</pre>
标签,虽然眼睛不是很容易,但它的输出仍然比print_r
非正式的数据更有意义。
正如许多人之前提到的那样,确保将其包裹在<pre>
标签周围。
我会采取额外的预防措施,以确保没有任何东西包装<pre>
,例如<p>
或<div>
与CSS类可以覆盖Pre的风格
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.