Как просмотреть полное содержимое длинных строк с помощью 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];
4 ответа
Вы используете 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);
Из документов:
xdebug.var_display_max_children
Тип: целое число, Значение по умолчанию: 128
Управляет количеством дочерних элементов массива, а свойства объекта отображаются, когда переменные отображаются с помощью xdebug_var_dump(), xdebug.show_local_vars или с помощью функции Traces.
Чтобы отключить любое ограничение, используйте -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 или с помощью функции Traces.
Максимальное значение, которое вы можете выбрать, составляет 1023. Вы также можете использовать -1 в качестве значения, чтобы выбрать это максимальное число.
Этот параметр не влияет на количество дочерних элементов, отправляемых клиенту с помощью функции удаленной отладки.
Иногда, используя var_dump
может быть очень утомительным при работе с длинными струнами. Вместо вывода результата в браузер, вы можете использовать терминал. Другое решение - вывести результат в текстовый файл, используя file_put_contents
или похожие. Затем откройте файл и проверьте результат.
Примерно так же будут отображаться любые HTML-теги в значениях:
foreach($array as $key=>$value) {
echo($key.':<br /><pre>'.htmlspecialchars($value).'<pre><hr>');
}