如何使服务器头的输出更具可读性?

时间:2011-04-09 09:31:53

标签: php arrays readability

鉴于以下php5代码输出了大量难以阅读代码:

<?=var_dump($_SERVER);?>
<?=print_r($GLOBALS); ?>

问题:如何使输出更具人性化?例如在新线上的每一个“项目”都可以使用吗?

7 个答案:

答案 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);得到的输出开始的屏幕截图:

http://extern.pascal-martin.fr/so/so-5604152.png

答案 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)

  1. 不是“服务器头”而是常规阵列。
  2. 要输出数组内容,程序员通常会使用循环,然后按照他们希望的方式格式化输出:
  3. foreach($_SERVER as $key => $value){
      echo "<b>$key:</b> $value<br>\n";
    }
    

    请注意,您的输出只是巨大的,因为您打印出了$ GLOBALS变量的内容,这对您来说完全没用。