如果我用PHP打印,它会用垃圾打印数组
如何以树状格式打印数组--使其更易于阅读?我发现按如下方式打印是个好主意如果我用PHP打印,它会用垃圾打印数组,php,Php,如何以树状格式打印数组--使其更易于阅读?我发现按如下方式打印是个好主意 printf("<pre>%s</pre>", print_r($array, true)); $my_var = new StdObject(); // or whatever Zend_Debug::dump($my_var); die; // optional, prevents routing, forwarding away, etc. printf(“%s”,print_r($ar
printf("<pre>%s</pre>", print_r($array, true));
$my_var = new StdObject(); // or whatever
Zend_Debug::dump($my_var);
die; // optional, prevents routing, forwarding away, etc.
printf(“%s”,print_r($array,true));
它可能并不理想,但更易于阅读。是否将输出包装在
标记中?这应该会得到相当不错的输出,因为它会显示空格。另一种选择是安装扩展,然后可以安装扩展,以便生成更可读的HTML输出 Mabe网页中的输出看起来像垃圾。尝试查看页面的源代码,我想它将以树状格式出现。尝试:
function pr($var)
{
print '<pre>';
print_r(htmlspecialchars($var));
print '</pre>';
}
pr($myArray);
它将为HTML的空白策略提供适当的树结构。函数pr($var)
{
打印“”;
打印(htmlspecialchars($var));
打印“”;
}
pr($myArray);
试着看看Zend框架中的一个相对即插即用的模块,它在有效转储复杂变量方面做得非常好
用法:
我可以建议使用
var\u export($array)
它使用可解析的php语法格式化值
即使您忘记输出
和
标记,
虽然看起来不太容易,
它的输出仍然比打印非正式的一堆数据更有意义。正如许多人之前提到的,一定要用
标签包装它
我会采取额外的预防措施,以确保没有任何东西包装
,例如
或
带有CSS类,可以覆盖Pre的样式。您可以将其打印到错误日志中:
请注意,您将看到\n而不是回车,因为它必须折叠成一行。请注意,
print\r
以纯文本而不是HTML打印。因此,您需要查看源代码以查看原始输出。您需要第二个参数print_r为布尔真,以便它返回值,而不仅仅是将其打印出来。xdebug需要+1。替换的var\u dump
非常好地支持阵列,几乎完全不需要print\r
。htmlspecialchars
请。好的,所以安全性不是调试代码的问题(尽管一定要摆脱您应该始终保持的习惯),而是任何“函数pr($var){print'.”htmlspecialchars(print_r($var,true))。”;}
作为附录,我会指出,
提供更一致(树状)的结果(尽管我还没有研究原因)
$my_var = new StdObject(); // or whatever
Zend_Debug::dump($my_var);
die; // optional, prevents routing, forwarding away, etc.
error_log(print_r($myarray,1));