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