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