(PHP 4, PHP 5)
print_r — Выводит удобочитаемую информацию о переменной
print_r() выводит информацию о переменной в удобочитаемом виде.
print_r(), var_dump() и var_export() могут также показывать защищенные (protected) и закрытые (private) атрибуты объектов в PHP 5. Статические элементы класса не будут отображены.
Следует помнить, что print_r() установит внутренний указатель массива в его конец. Используйте функцию reset() для установки его в начало массива.
Выражение для вывода на экран.
Если Вы хотите перехватить вывод print_r(), используйте параметр return. Если его значение равно TRUE, то print_r() вернет результат вывода вместо вывода в браузер (который производится по умолчанию).
Если в функцию передаются значения типов string, integer или float, будет напечатано само значение. Если передается массив array, значениия будут напечатаны в формате, показывающем ключи и елементы массива. Аналогичный формат вывода используется для объектов.
Замечание:
Эта функция использует внутреннюю буферизацию вывода с этим параметром, поэтому она не может быть использована внутри коллбэк-функции ob_start().
Версия | Описание |
---|---|
4.3.0 | Добавлен параметр return. Если Вам необходимо перехватить вывод print_r() в ранних версиях PHP, используйте output-control функции. |
4.0.4 | В версиях PHP до 4.0.4, print_r() будет выполняться бесконечно, если передается массив или объект, который содержит прямую или косвенную ссылку на себя. Примером является print_r($GLOBALS), поскольку $GLOBALS является глобальной переменной, которая содержит ссылку на себя. |
Пример #1 Пример использования print_r()
<pre>
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>
Результат выполнения данного примера:
<pre> Array ( [a] => apple [b] => banana [c] => Array ( [0] => x [1] => y [2] => z ) ) </pre>
Пример #2 Пример использования параметра return
<?php
$b = array ('m' => 'monkey', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
$results = print_r($b, true); // $results теперь содержит вывод print_r
?>