我有一个像
这样的字符串的数组$array = array("string1","string2","string3");
但这些字符串很长,有时长度为2000+。所以当我做的时候
echo "<pre>";
var_dump($array);
echo "</pre>";
它显示了类似
的内容string 'zzzzzzzzzzzzzzzzz '... (length = 994)
string 'yyyyyyyyyyyyyyyyy '... (length = 1287)
string 'xxxxxxxxxxxxxxxxx '... (length = 1718)
而不是完整的字符串。如何查看数组的全部内容?对于那些会问的人,它包含HTML标签,这就是为什么我不写echo $array[string];
答案 0 :(得分:38)
您正在使用xdebug,它会重载默认的var_dump()
,以便为您提供更漂亮,更可配置的输出。默认情况下,它还会限制一次显示的信息量。要获得更多输出,您应该更改一些设置。
将其添加到脚本的顶部:
ini_set("xdebug.var_display_max_children", -1);
ini_set("xdebug.var_display_max_data", -1);
ini_set("xdebug.var_display_max_depth", -1);
来自the docs:
<强> xdebug.var_display_max_children 强>
类型:整数,默认值:128
当使用xdebug_var_dump(),xdebug.show_local_vars或通过函数跟踪显示变量时,控制数组子项的数量和对象的属性。
要禁用任何限制,请使用-1作为值。
此设置对通过远程调试功能发送给客户端的子项数没有任何影响。
<强> xdebug.var_display_max_data 强>
类型:整数,默认值:512
控制使用xdebug_var_dump(),xdebug.show_local_vars或通过函数跟踪显示变量时显示的最大字符串长度。
要禁用任何限制,请使用-1作为值。
此设置对通过远程调试功能发送给客户端的子项数没有任何影响。
<强> xdebug.var_display_max_depth 强>
类型:整数,默认值:3
控制使用xdebug_var_dump(),xdebug.show_local_vars或通过函数跟踪显示变量时,有多少嵌套级别的数组元素和对象属性。
您可以选择的最大值是1023.您还可以使用-1作为值来选择此最大数字。
此设置对通过远程调试功能发送给客户端的子项数没有任何影响。
答案 1 :(得分:2)
有时,使用var_dump
在处理长字符串时可能会非常繁琐。
而是在浏览器上输出结果,您可以使用终端。
另一种解决方案是使用file_put_contents
或类似方法在文本文件上输出结果。然后打开文件并检查结果。
答案 2 :(得分:-1)
这样的东西也会在值中显示任何html标签:
foreach($array as $key=>$value) {
echo($key.':<br /><pre>'.htmlspecialchars($value).'<pre><hr>');
}