Номер появляется после массива, хранящегося в сессии - PullRequest
2 голосов
/ 06 апреля 2009

Я делаю print_r для массива, хранящегося в переменной сеанса, и по какой-то неизвестной причине он добавляет число после печати массива.

Пример:

Array
(
    [0] => 868
    [userid] => 868
)
1  

Если я выполню print_r непосредственно в самой функции и до того, как переменная будет сохранена в переменной сеанса, она не добавит это число 1.

Решение:

Почти в то же самое время, когда Паоло ответил на мой вопрос правильно, я нашел вызывающий код.

Простое эхо на print_r

Ответы [ 3 ]

5 голосов
/ 06 апреля 2009

У меня была такая же проблема. Вы, вероятно, повторяете возвращаемое значение print_r (), которое равно 'true'. Вам придется установить print_r (), чтобы он возвращал форматированный текст, а не его успех или неудачу.

echo "Session: ".print_r($_SESSION,true)."<br />\n";
0 голосов
/ 24 января 2010

Помимо использования print_r или vardump, вы должны рассмотреть возможность использования FirePHP или PHP Quick Profiler , чтобы помочь вам отладить и отобразить значение переменной.

С FirePHP вы можете отобразить значение в консоли Firebug. Используя PHP Quick Profiler , в нижней части страницы будет добавлена ​​консоль, которую можно использовать для отображения любого необходимого значения.

0 голосов
/ 06 апреля 2009

Можете ли вы опубликовать код, который вы используете, чтобы сделать это около print_r? Наиболее распространенная причина получения 1 - это попытка вывести логическое значение:

$my_bool = true;
print $my_bool; // will be printed as 1
print_r($my_bool); // will also be printed as 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...