(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, стойностите му ще бъдат показани във формат, при който се извеждат ключовете и елементите. Подобно представяне се използва и за object.
Забележка: Тази функция използва вътрешно буфериране на изхода с този параметър, така че не може да бъде използвана в обратно-извикващата се функция ob_start().
Версия | Описание |
---|---|
4.3.0 | Параметърът return бе добавен. Ако Ви се налага да прихванете изхода на print_r() с по-стара версия на PHP, използвайте функции за управление на изхода. |
4.0.4 | В по-стари версии от PHP 4.0.4, print_r() ще продължи вечно, ако се използва за типовете array или object, които съдържат пряка или непряка референция към себе си. Пример за това е print_r($GLOBALS), защото $GLOBALS сама по себе си е глобална, която съдържа референция към себе си. |
Example #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>
Example #2 Пример за параметъра return
<?php
$b = array ('m' => 'monkey', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
$results = print_r($b, true); // $results вече съдържа изхода от print_r
?>