Если я делаю print_r в PHP, он печатает массив в мусор - PullRequest
5 голосов
/ 04 октября 2009

Как мне распечатать массив в древовидном формате - чтобы его было легче читать?

Ответы [ 9 ]

13 голосов
/ 04 октября 2009

Попробуйте:

<code><pre><?php print_r($var); ?>

Это даст правильную древовидную структуру, которую ограничивает политика пробелов в HTML.

12 голосов
/ 04 октября 2009

Вы упаковываете вывод в теги <pre>? Это должно дать вам довольно приличный результат, потому что он покажет пробелы. Другой вариант - установить расширение xdebug , которое затем может заменить var_dump, чтобы генерировать более читаемый вывод HTML.

4 голосов
/ 04 октября 2009
<code>function pr($var)
{
    print '<pre>';
    print_r(htmlspecialchars($var));
    print '
'; } пр ($ туАггау);
2 голосов
/ 04 октября 2009

Я считаю хорошей идеей напечатать__ следующим образом

<code>printf("<pre>%s
", print_r ($ array, true));

Возможно, он не идеален, но его легче читать.

1 голос
/ 04 октября 2009

Вы можете распечатать его в журнале ошибок:

error_log(print_r($myarray,1));

Обратите внимание, что вместо возврата каретки вы увидите \ n, потому что его нужно свернуть в одну строку.

1 голос
/ 04 октября 2009

Попробуйте взглянуть на Zend_Debug , относительно подключаемый модуль от Zend Framework, который отлично справляется с эффективным сбросом сложных переменных.

Использование:

$my_var = new StdObject(); // or whatever
Zend_Debug::dump($my_var); 
die; // optional, prevents routing, forwarding away, etc.
0 голосов
/ 04 октября 2009

Как уже упоминали многие люди, не забудьте обернуть его вокруг тега <pre>.

Я бы предпринял дополнительные меры предосторожности, чтобы убедиться, что ничто не оборачивает и эту <pre>, такую ​​как <p> или <div> с классом CSS, который может переопределить стиль Pre

.
0 голосов
/ 04 октября 2009

Могу ли я предложить использовать var_export($array)?

Форматирует значения с синтаксическим анализом php

И даже если вы забудете вывести <pre> и </pre> теги, в то время как не очень легко для глаз, его вывод все же имеет больше смысла, чем print_r неофициальный набор данных.

0 голосов
/ 04 октября 2009

Mabe вывод выглядит как мусор на веб-странице. Попробуйте посмотреть на источник страницы, и я думаю, он будет в древовидном формате.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...