Подтвердить что ты не робот

Как увидеть полное содержание длинных строк с помощью var_dump() в PHP

У меня есть массив с некоторыми строками типа

$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];

4b9b3361

Ответ 1

Вы используете xdebug, который перегружает значение по умолчанию var_dump(), чтобы дать вам более красивый и настраиваемый вывод. По умолчанию он также ограничивает объем информации, отображаемой за один раз. Чтобы получить больше результатов, вы должны изменить некоторые настройки.

Добавьте это в начало script:

ini_set("xdebug.var_display_max_children", -1);
ini_set("xdebug.var_display_max_data", -1);
ini_set("xdebug.var_display_max_depth", -1);

Из документов:

xdebug.var_display_max_children

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

Управляет количеством дочерних элементов массива и свойствами объекта, когда отображаются переменные с помощью xdebug_var_dump(), xdebug.show_local_vars или через функции Traces.

Чтобы отключить любое ограничение, используйте значение -1 как.

Этот параметр не влияет на количество детей, которые отправляются клиенту с помощью функции "Удаленная отладка" .

xdebug.var_display_max_data​​STRONG >

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

Управляет максимальной длиной строки, которая отображается, когда переменные отображаются с помощью xdebug_var_dump(), xdebug.show_local_vars или через Function Traces.

Чтобы отключить любое ограничение, используйте значение -1 как.

Этот параметр не влияет на количество детей, которые отправляются клиенту с помощью функции "Удаленная отладка" .

xdebug.var_display_max_depth

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

Управляет количеством вложенных уровней элементов массива и свойств объекта, когда переменные отображаются с помощью xdebug_var_dump(), xdebug.show_local_vars или через функции Traces.

Максимальное значение, которое вы можете выбрать, - 1023. Вы также можете использовать -1 как значение для выбора этого максимального числа.

Этот параметр не влияет на количество детей, которые отправляются клиенту с помощью функции "Удаленная отладка" .

Ответ 2

Иногда использование var_dump может оказаться очень утомительным при работе с длинными строками. Вместо вывода результата в браузере вы можете использовать терминал. Другим решением является вывод результата в текстовый файл с помощью file_put_contents или аналогичного. Затем откройте файл и проверьте результат.

Ответ 3

Что-то вроде этого также отображает любые теги html в значениях:

foreach($array as $key=>$value) {
    echo($key.':<br /><pre>'.htmlspecialchars($value).'<pre><hr>');
}