Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使服务器头的输出更具可读性?_Php_Arrays_Readability - Fatal编程技术网

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

Php 如何使服务器头的输出更具可读性?,php,arrays,readability,Php,Arrays,Readability,鉴于以下php5代码输出了大量难以读取的代码: 问题:如何使输出更具可读性?e、 g.如何将每一个“项”都放在新行中?您可以使用标记格式化输出 <pre><?=print_r($GLOBALS); ?></pre> 您只需在其周围包裹一个pre元素: 还要注意,在您的开发环境中,您应该安装扩展 除了其他有用的功能(如调试器!),它将使您获得更好的var\u dump(): 颜色 形成 例如,下面是我为var\u dump($\u服务器)获得的输

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


问题:如何使输出更具可读性?e、 g.如何将每一个“项”都放在新行中?

您可以使用
标记格式化输出

<pre><?=print_r($GLOBALS); ?></pre>

您只需在其周围包裹一个pre元素:



还要注意,在您的开发环境中,您应该安装扩展

除了其他有用的功能(如调试器!),它将使您获得更好的
var\u dump()

  • 颜色
  • 形成

例如,下面是我为
var\u dump($\u服务器)获得的输出的截图



(来源:)

像前面提到的其他人一样,您可以将其包装在
标记中,以使其可读。我通常在代码中始终包含以下两个函数。以蛋糕为灵感,用作实用功能

函数pr(){
$vars=func_get_args();
回声';
foreach($var作为$var){
印刷费($var);
}
回声';
}
函数prd(){//打印后死亡
$vars=func_get_args();
回声';
foreach($var作为$var){
印刷费($var);
}
回声';
模具();
}
除了
技巧之外,您还可以尝试使用dbug


使事情变得更好、更清晰:

前面的答案建议了一个好的解决方案,但是如果您想要对输出进行更多的控制,您可以在阵列上运行一个循环

$\u SERVER和$\u GLOBALS是数组,所以您可以这样做

foreach($\u服务器为$key=>$value){
echo$key.“是“$value”。
。PHP\u EOL; }
还可以添加if语句以忽略$\u SERVER/$\u GLOBALS中的某些项

  • 它不是什么“服务器头”,而是常规数组
  • 为了输出数组内容,程序员通常使用循环,然后按照他们希望的方式格式化输出:
  • foreach($\u服务器为$key=>$value){
    回显“$key:$value
    \n”; }

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

    +1到此为止。此外,超级有用的堆栈可以跟踪出问题的时刻。调试是如此简单!真的不是个好主意。首先,与简单的“”标记相比,它的代码太多。其次,这对多维数组没有好处。当然,您可以放置嵌套的foreach循环,但是对于可以使用它更好地完成的事情,您愿意走多远?如果你想使它漂亮,你真的应该考虑使用dBugIT的好主意,如果你想要一些简单的,可移植的,更漂亮的,那么,VARYDUMPE()不使用调试。这个特定的示例不适用于多维数组,但是$\u服务器是一维的,只需很少的编辑,它也可以支持多维数组。它比?你肯定是在开玩笑。如果您需要快速查看阵列,没有什么比这更容易的了。如果你想让事情变得漂亮,可以使用像dBug这样的库。如果需要仔细查看,xdebug就是它(但安装/配置起来很麻烦)。在任何情况下,编写自己的循环都不容易。更不用说它看起来像是常规代码,您偶尔会忘记它为什么会出现。快速清洁,预处理。很漂亮,德布格。详细说明,xdebug。如果过于复杂,每次都要编写自己的dBug版本。在那里,它适合一个小众。对于调试目的来说,这不是一个好主意。请参阅对Gilsilas答案的评论。@Sylverdrag这对于他当前的任务来说已经足够好了。事实上,他把他根本不需要的多维数组弄得一团糟。
    <pre><?=print_r($GLOBALS); ?></pre>
    
    <pre><?php var_dump($_SERVER); ?></pre>
    <pre><?php print_r($GLOBALS); ?></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();
    }
    
    foreach($_SERVER as $key=>$value){
    echo $key . ' is ' . $value . '<br />' . PHP_EOL;
    }
    
    foreach($_SERVER as $key => $value){
      echo "<b>$key:</b> $value<br>\n";
    }