PHP выдаёт не отформатированный вывод, как исправить?

Столкнулся с такой проблемой что при выводе массива или объекта браузер выдаёт не отформатированную строку, и по итогу вместо того чтобы получить то что на этом скриншоте:

введите сюда описание изображения

я получаю вот такого формата вывод где приходится тщательно разыскивать каждый элемент:введите сюда описание изображения

Проблема меня преследует еще с начала изучения PHP, но теперь когда начал переходить к реальным проектам - данная проблема крайне сильно мешает жить, буду крайне благодарен если сможете помочь).

IDE: PHPStorm
Браузер: Google Chrome, EDGE
Версия PHP: 8.1


Ответы (2 шт):

Автор решения: pgood

Вывод данных в браузере зависит от заголовка ответа сервера Content-Type, который сообщает браузеру какого типа данные передаются, например text/plain или text/html, тут больше примеров.

По умолчанию, данные выводимые PHP-скриптами, веб-сервер считает HTML-кодом и отправляет их с соответствующим заголовком Content-Type: text/html, поэтому браузер трактует эти данные как HTML, т.е. игнорируются повторяющиеся пробельные символы и переносы строк.

Решить проблему можно несколькими способами:

  • использовать тег pre, который сохраняет исходную разметку текста
  • устанавливать заголовок header("Content-Type: text/plain");, который сообщит браузеру, что это простой текст, а не HTML-код. Но это не поможет, если заголовки уже были отправлены https://www.php.net/manual/ru/function.headers-sent.php
  • использовать специализированный инструмент, например Xdebug
→ Ссылка
Автор решения: Жора Хзмалян

Сделайте так будет красиво показать

echo '<pre>';
var_dump($data);
echo '</pre>';
→ Ссылка