PHP数组元素后跟省略号(...)

时间:2015-05-06 02:47:25

标签: php

我是var转储数组并看到这个:

 array (size=4)
        0 => 
          array (size=2)
            ...
        1 => 
          array (size=2)
            ...
        2 => 
          array (size=2)
            ...
        3 => 
          array (size=2)
            ...

数组项目是否存在,是否未列出,或者是否存在问题?

2 个答案:

答案 0 :(得分:0)

var_dump()中的省略号替换元素是Xdebug的“特征”。您可以使用PHP.INI中的设置调整显示的元素数。

具体而言xdebug.var_display_max_depth会影响显示的数组元素和对象属性的嵌套级别。

还有许多其他设置可能会产生一些影响。请参阅reference

答案 1 :(得分:0)

正如其他人所说,这是因为XDebug。

此处的文档中提供了http://xdebug.org/docs/basic

以下是它的副本。

您感兴趣的设置是xdebug.max_nesting_level,因为您现在似乎已将其设置为2或3。

所以你可以编辑你的php.ini并添加以下内容

xdebug.max_nesting_level = 10表示它会在停止之前达到10级深度。

或者如果您甚至不想要XDebug(因为它会提高性能),您是否可以通过添加

将它们全部禁用 在php.ini文件中

xdebug.default_enable = 0

  

xdebug.default_enable

输入: 布尔默认值 1

如果此设置为1,则默认情况下将在错误事件中显示stacktraces。您可以使用xdebug_disable()禁用代码中的堆栈跟踪。由于这是Xdebug的基本功能之一,建议将此设置设置为1。

  

xdebug.force_display_errors

键入: int 默认值: 0 介绍 < em> Xdebug 2.3

如果此设置设置为1,则无论PHP的display_errors设置如何,都将始终显示错误。

  

xdebug.force_error_reporting   在 Xdebug 2.3 中键入:int,默认值:0,引入

此设置是一个位掩码,如error_reporting。该位掩码将与error_reporting to dermine表示的位掩码逻辑OR运算,应显示错误。此设置只能在php.ini中进行,并允许您强制显示某些错误,无论应用程序使用ini_set()做什么。

  

xdebug.halt_level

键入: int 默认值: 0 介绍 < em> Xdebug 2.3

此设置允许您配置一个掩码,用于确定是否以及哪些通知和/或警告转换为错误。您可以配置由PHP生成的通知和警告,以及您自己生成的通知和警告(通过trigger_error())。例如,要将strlen()(不带参数)的警告转换为错误,您可以执行以下操作:

ini_set('xdebug.halt_level', E_WARNING);
strlen();
echo "Hi!\n";
Which will then result in the showing of the error message, and the abortion of the script. echo "Hi!\n"; will not be executed.

The setting is a bit mask, so to convert all notices and warnings into errors for all applications, you can set this in php.ini:

xdebug.halt_level=E_WARNING|E_NOTICE|E_USER_WARNING|E_USER_NOTICE
The bitmask only supports the four level that are mentioned above.
  

xdebug.max_nesting_level

输入: 整数默认值: 100

控制无限递归保护的保护机制。此设置的值是在中止脚本之前允许的最大嵌套函数级别。

  

xdebug.scream

键入: 布尔默认值: 0 介绍 < em> Xdebug&gt; = 2.1

如果此设置为1,则Xdebug将禁用@(关闭)运算符,以便不再隐藏通知,警告和错误。