Содержание
(PHP 4, PHP 5, PHP 7)
print_r — Выводит удобочитаемую информацию о переменной
Описание
print_r() выводит информацию о переменной в удобочитаемом виде.
print_r() , var_dump() и var_export() могут также показывать защищенные (protected) и закрытые (private) атрибуты объектов в PHP 5. Статические элементы класса не будут отображены.
Список параметров
Выражение для вывода на экран.
Если вы хотите перехватить вывод print_r() , используйте параметр return . Если его значение равно TRUE , то print_r() вернет результат вывода вместо вывода в браузер (который производится по умолчанию).
Возвращаемые значения
Если в функцию передаются значения типов string , integer или float , будет напечатано само значение. Если передается массив array , значения будут напечатаны в формате, показывающем ключи и элементы массива. Аналогичный формат вывода используется для объектов.
Если параметр return установлен в TRUE , данная функция вернет строку ( string ). В противном случае возвращаемое значение будет равно TRUE .
Примечания
При использовании параметра return данная функция использует внутреннюю буферизацию вывода, поэтому она не может быть использована внутри callback-функции ob_start() .
Примеры
Пример #1 Пример использования print_r()
Результат выполнения данного примера:
Пример #2 Пример использования параметра return
Смотрите также
- ob_start() — Включение буферизации вывода
- var_dump() — Выводит информацию о переменной
- var_export() — Выводит в браузер или возвращает интерпретируемое строковое представление переменной
print_r — печатает читабельную информацию о переменной.
Описание
void print_r (mixed expression [, bool $return = false ])
print_r() выводит пригодную для чтения человеком информацию о переменной. Если задано string , integer или float , печатается само значение. Если задан array , значения будут представлены в формате с показом ключей и элементов. Аналогичная нотация используется для object .
Помните, что print_r() перемещает указатель массива в конец. Используйте reset() для возврата его в начало.
Если вы хотите сохранить результат, используйте второй параметр return . Когда TRUE , print_r() возвратит информацию, а не будет печатать его.
Подсказка: как при любом прямом выводе информации в браузер, вы можете использовать функции управления выводом для захвата вывода этой функции и сохранить его — например — в string .
= array( ‘a’ => ‘apple’ , ‘b’ => ‘banana’ , ‘c’ => array( ‘x’ , ‘y’ , ‘z’ )); print_r ( $a ); ?> |
выдаст на выводе:
= array( ‘a’ => ‘apple’ , ‘b’ => ‘banana’ , ‘c’ => array( ‘x’ , ‘y’ , ‘z’ )); $result = print_r ( $b , true ); ?> |
Примечание: до PHP 4.0.4 print_r() продолжает выводит бесконечно, если задан array или object , содержащий прямую или косвенную ссылку на себя самого.Примером может служить print_r($GLOBALS) , поскольку $GLOBALS самая является глобальной переменной, содержащей ссылку на саму себя.
Начиная с версии PHP 4.3.0 добавлен параметр return
этот блог посвящен задачам, с которыми сталкиваюсь в своей профессиональной деятельности.
понедельник, 23 мая 2011 г.
print_r в переменную!
Век живи — век учись! Оказывается, у функции print_r в php есть второй параметр, который по умолчанию равен false. Если указать его как true, то функция print_r выведет значение не на экран, а в переменную, например так:
3 комментария:
Скажите, а в чем прикол тогда print_r(array, TRUE), если я делаю
$nu_i=print_r(array, TRUE);
echo $nu_i;
выводит тоже самое что и print_r
Я искал в гугл быстрое решение чтоб из print_r можно было в PHP файл сохранить готовую строчку
ARRAY("1"=>"bla bla bla", "s2"=>"tra ta ta")
осталось бы добавить только ; и префикс. Потом через include можно такую переменную подключать для быстродействия сайта.
Вот и ищу дальше, а напоролся на print_r TRUE и не понял юмора
Нашел то что искал
var_export(myarray);
Вот спасибо! Напишу свой debug модуль для моего фреймворка. А то var_dump неудобный и в одну строку выводит, а xdebug мне не нравится вообще.