如何在PHP中使用var_dump()查看长字符串的完整内容

Car*_*s2W 33 php arrays var-dump

我有一个像一些字符串的数组

$array = array("string1","string2","string3");
Run Code Online (Sandbox Code Playgroud)

但这些字符串很长,有时长度为2000+.所以,当我这样做

echo "<pre>";
var_dump($array);
echo "</pre>";
Run Code Online (Sandbox Code Playgroud)

它向我展示了类似的东西

string 'zzzzzzzzzzzzzzzzz '... (length = 994)
string 'yyyyyyyyyyyyyyyyy '... (length = 1287)
string 'xxxxxxxxxxxxxxxxx '... (length = 1718)
Run Code Online (Sandbox Code Playgroud)

而不是完整的字符串.如何查看数组的全部内容?对于那些会问的人,它包含HTML标签,所以这就是我不写的原因echo $array[string];

eli*_*ide 48

您正在使用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);
Run Code Online (Sandbox Code Playgroud)

来自文档:

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作为值来选择此最大数字.

此设置对通过"远程调试"功能发送给客户端的子节点数没有任何影响.

  • 也可以使用相同的配置设置名称放入 php.ini 文件中,例如 `xdebug.var_display_max_depth=-1` 有效,但仅推荐用于本地开发站点 (3认同)