首页 > 技术文章 > PHP与thinkphp中var_dump()打印数组显示不全问题

jcydd 2019-03-26 17:37 原文

在我们进行php开发的时候,经常会使用var_dump()函数进行数组的打印,以方便我们程序的调试,而有时候我们在进行多维数组打印的时候会发现多维数组打印不全,有些地方被…代替,这就是我们php配置的问题了。

 

打开php.ini搜索xdebug,会找到以下信息:

xdebug.var_display_max_children=128
xdebug.var_display_max_data=512
xdebug.var_display_max_depth=5

如果没有这些信息,可以手动添加,添加时注意权限问题。

其中xdebug.var_display_max_children表示显示的数组子元素或对象属性的最大数量,不限制则设定为-1。虽然可以设定为不限制,但在调试过程中,特别是打印数据库信息时,最好设定一个合理的值,获取到有用的信息即可。

xdebug.var_display_max_data表示显示字符串的最大长度,不限设置为-1。这个设置虽然不是数组的,但是也是比较常用的,所以这里也给大家提示一下。

xdebug.var_display_max_depth表示显示数组或对象属性时的最大嵌套深度,最大1023,可以用-1指代这个最大数。这个深度设置为5其实是不够用的,特别是处理对象的时候,深度比较大,建议修改成10以上。

以上就是我们进行var_dump(),进行数据打印时候,数据显示不全的原因。注意ThinkPHP5框架的dump也是一样的。

推荐阅读