奇怪的var_dump行为

4
我可以帮您翻译成中文,以下是需要翻译的内容:

我有以下这行代码:

var_dump(array());

在一个文件中,它输出了这个:
array (size=0)
  empty

在第二个文件中,它输出了以下内容:
string '<pre class='xdebug-var-dump' dir='ltr'>
<b>array</b> <i>(size=0)</i>
  <i><font color='#888a85'>empty</font></i>
</pre>' (length=119)

有什么想法是什么导致第二个文件出现这种情况吗?当我查看第二个文件呈现标记的源代码时,我看到了这个:
<pre class='xdebug-var-dump' dir='ltr'><small>string</small> <font color='#cc0000'>'&lt;pre class=&#39;xdebug-var-dump&#39; dir=&#39;ltr&#39;&gt;&#10;&lt;b&gt;array&lt;/b&gt; &lt;i&gt;(size=0)&lt;/i&gt;&#10;  &lt;i&gt;&lt;font color=&#39;#888a85&#39;&gt;empty&lt;/font&gt;&lt;/i&gt;&#10;&lt;/pre&gt;'</font> <i>(length=119)</i>
</pre>

更新1: 第一个文件的视图 -> 源代码:

<pre class='xdebug-var-dump' dir='ltr'>
<b>array</b> <i>(size=0)</i>
  <i><font color='#888a85'>empty</font></i>
</pre>
1个回答

3

var_dump()被Xdebug的自定义函数取代,如此处所述:

Xdebug替换了PHP的var_dump()函数以显示变量。 Xdebug的版本包括不同类型的颜色,并对数组元素/对象属性,最大深度和字符串长度设置限制。 还有一些其他处理变量显示的函数。

http://xdebug.org/docs/display

猜测您在第二个文件中以某种方式/位置实现了xdebug。


在两个文件上都开启xdebug。查看->源代码可以验证它。问题是在第二个文件中,HTML实体被转义了? - StackOverflowNewbie
谢谢更新。你的第二个文件中是否有不同的xdebug设置或某种输出缓冲? - simplyray
1
抱歉,我想我知道我哪里出错了。我输出了一个curl调用的结果,它调用了一个脚本,该脚本执行了一个var dump。 - StackOverflowNewbie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接