2015-05-06 3 views
0

Я Var демпинг массив и увидеть это (...):PHP элементы массива с последующим многоточием

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

ли элементы массива там, просто нет в списке, или есть проблемы?

+2

Как выглядит print_r ($ array)? – dbinns66

+5

Это «особенность» Xdebug. Вы можете настроить количество элементов, отображаемых с настройками в PHP.INI. См. [Reference] (http://xdebug.org/docs/display) –

+1

Это число элементов в массиве. Не имеет значения, является ли элемент NULL или имеет данные. – Misunderstood

ответ

0

Замена элементов эллипсисом в var_dump() является «особенностью» Xdebug. Вы можете настроить количество элементов, отображаемых с настройками в PHP.INI.

В частности xdebug.var_display_max_depth влияет на количество вложенных уровней элементов массива и свойств объекта.

Существует ряд других настроек, которые могут также иметь некоторый эффект. См. reference

0

Как уже упоминалось, это из-за XDebug.

Это доступно в документе, размещенном здесь, http://xdebug.org/docs/basic.

Вот его копия.

Параметры, которые вы собираетесь быть заинтересованы в xdebug.max_nesting_level, как сейчас кажется, что вы его установить нравится 2 или 3.

Таким образом, вы можете редактировать php.ini и добавьте следующие

xdebug.max_nesting_level = 10, который укажет, что он будет идти на 10 уровней до остановки.

В качестве альтернативы, если вы даже не хотите XDebug (как это будет улучшить производительность), вы можете просто отключить все вместе, добавив

xdebug.default_enable = 0 в файле php.ini.

xdebug.default_enable

Тип:логическое значение, По умолчанию:

Если этот параметр равен 1, то stacktraces будет отображаться по умолчанию на условиях событие ошибки. Вы можете отключить отображение стоп-кадров из вашего кода с помощью xdebug_disable(). Поскольку это одна из основных функций Xdebug, рекомендуется оставить этот набор настроек в 1.

xdebug.force_display_errors

Тип:INT значение, По умолчанию: , Введенный в Xdebug 2.3

Если этот параметр установлен в 1, тогда всегда будут отображаться ошибки, независимо от того, что такое настройка display_errors PHP.

xdebug.force_error_reporting Тип: ИНТ Значение по умолчанию: 0, Введенный в Xdebug 2,3

Этот параметр является битовая, как error_reporting. Эта битовая маска будет логически ORed с битовой маской, представленной error_reporting, на dermine, где должны отображаться ошибки. Этот параметр можно сделать только в php.ini и позволяет принудительно отображать определенные ошибки независимо от того, что делает приложение с помощью ini_set().

xdebug.halt_level

Тип:INT, Значение по умолчанию: , Введенный в Xdebug 2.3

Этот параметр позволяет настроить маску, которая определяет, будет ли и какая s и/или предупреждения преобразуются в ошибки. Вы можете настраивать уведомления и предупреждения, которые генерируются 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

Тип:целое, Значение по умолчанию:

Управление защитным механизмом анис для бесконечной рекурсивной защиты. Значение этого параметра - это максимальный уровень вложенных функций, которые разрешены до того, как скрипт будет прерван.

xdebug.scream

Тип:логическое значение, По умолчанию: , Введенный в Xdebug> = 2,1

Если этот параметр 1, то Xdebug отключит оператор @ (shut-up), чтобы не льды, предупреждения и ошибки больше не скрываются.

Смежные вопросы