如何以树状格式打印数组 - 使其更易于阅读?
答案 0 :(得分:13)
尝试:
<pre><?php print_r($var); ?></pre>
它将提供HTML的空白策略修剪的正确树结构。
答案 1 :(得分:12)
您是否将输出包装在<pre>
个标签中?这应该会让你得到相当不错的输出,因为它会显示空间。另一种选择是安装xdebug扩展,然后可以replace var_dump
,以便生成更易读的HTML输出。
答案 2 :(得分:4)
function pr($var)
{
print '<pre>';
print_r(htmlspecialchars($var));
print '</pre>';
}
pr($myArray);
答案 3 :(得分:2)
我发现print_r是个好主意,如下所示
printf("<pre>%s</pre>", print_r($array, true));
它可能不太理想,但它更容易阅读。
答案 4 :(得分:1)
试着看看Zend_Debug,它是Zend Framework中一个相对即插即用的模块,可以有效地转储复杂的变量。
用法:
$my_var = new StdObject(); // or whatever
Zend_Debug::dump($my_var);
die; // optional, prevents routing, forwarding away, etc.
答案 5 :(得分:1)
您可以将其打印到错误日志中:
error_log(print_r($myarray,1));
请注意,您将看到\ n而不是回车符,因为它必须在一行中折叠。
答案 6 :(得分:0)
Mabe输出看起来像网页中的垃圾。尝试查看页面的来源,我认为它将采用树状格式。
答案 7 :(得分:0)
我建议您使用var_export($array)
吗?
使用可解析的php语法
格式化值即使您忘记输出<pre>
和</pre>
标签,
虽然眼睛不是很容易
它的输出仍然比print_r
非正式的数据更有意义。
答案 8 :(得分:0)
正如许多人之前提到的那样,请确保将其包裹在<pre>
标记内。
我会采取额外的预防措施,以确保没有任何东西包裹<pre>
,例如<p>
或<div>
,其CSS类可以覆盖Pre的样式