Pull to refresh

Простой дебаг содержания PHP-массивов или объектов

При проведении небольших правок на PHP нам часто приходится просматривать содержимое массивов с помощью print_r() либо var_dump, при этом на выходе в браузере мы получаем далеко не самый читабельный текст даже с помощью банального тега pre.

Представляю Вам современное и простое решение, выводящее массивы в виде удобочитаемого древа элементов.

Конечно, с помощью print_r() можно понять, что находится в небольшом массиве/объекте, но когда речь идёт о настоящих многомерных массивах, мы уже не можем спокойно понять, к какой части массива относится то или иное значение. Мне это надоело и я написал простенькую пару функций, выводящих массивы в виде дерева с помощью html-тега details, скрывающего внутреннее содержимое. Таким образом можно отладить массив прямо в браузере, не вставляя лишние скрипты и стили в исходную страницу. Само древо выглядит следующим образом:

PHP красивый вывод массива в виде древа

Самый верхний элемент указывает тип переменной (объект или массив) и кол-во суб-элементов. Конечное значение подсвечивается зелёным цветом если это число, и красным если это строка. Весь вывод помещён в один div для удобства. Также для удобства (чтобы не нагромождать код этими функциями) был организован сервис, выводящий переменную в виде вышеуказанного древа элементов. Для этого вам достаточно лишь использовать следующий код:

echo file_get_contents('https://www.w3strict.ru/ppp.php?print='.urlencode(serialize($VASH_MASSIV)));

Также можно передать параметр opened, равный true, чтобы изначально получить закрытое древо элементов. Подробности и исходный код приведены тут.
Удачного Вам кодинга, друзья!
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.