鉴于以下php5代码输出了大量难以阅读代码:
<?=var_dump($_SERVER);?>
<?=print_r($GLOBALS); ?>
问题:如何使输出更具人性化?例如在新线上的每一个“项目”都可以使用吗?
答案 0 :(得分:5)
你可以在它周围包裹一个前元素:
<pre><?php var_dump($_SERVER); ?></pre>
<pre><?php print_r($GLOBALS); ?></pre>
另请注意,<?=
要求short_open_tags
设置为true(在较新版本的php中为false)
答案 1 :(得分:3)
在您的开发环境中,您应该安装Xdebug扩展名。
在其他有用的功能(例如调试器!)中,它会让你更好var_dump()
:
例如,这是我为var_dump($_SERVER);
得到的输出开始的屏幕截图:
答案 2 :(得分:2)
您可以使用<pre>
标记格式化输出
<pre><?=print_r($GLOBALS); ?></pre>
答案 3 :(得分:2)
与其他人提到的一样,您可以将其包含在<pre>
标记中以使其可读。我的代码中通常都有以下两个函数。用作实用功能,灵感来自蛋糕。
function pr() {
$vars = func_get_args();
echo '<pre>';
foreach ($vars as $var) {
print_r($var);
}
echo '</pre>';
}
function prd() { //dies after print
$vars = func_get_args();
echo '<pre>';
foreach ($vars as $var) {
print_r($var);
}
echo '</pre>';
die();
}
答案 4 :(得分:2)
除<pre>
技巧外,您可以尝试使用dbug
使事情变得更好更清晰:dBug
答案 5 :(得分:1)
之前的答案提供了很好的解决方案,但是如果你想对输出进行更多控制,你可以在数组上运行循环。
$ _ SERVER和$ _GLOBALS是数组,所以你可以做
foreach($_SERVER as $key=>$value){
echo $key . ' is ' . $value . '<br />' . PHP_EOL;
}
您还可以添加if语句来忽略$ _SERVER / $ _ GLOBALS中的某些项
答案 6 :(得分:1)
foreach($_SERVER as $key => $value){
echo "<b>$key:</b> $value<br>\n";
}
请注意,您的输出只是巨大的,因为您打印出了$ GLOBALS变量的内容,这对您来说完全没用。