JavaScript Editor Javascript debugger     Website design 


Prints human-readable information about a variable (PHP 4, PHP 5)
mixed print_r ( mixed expression [, bool return] )

print_r() displays information about a variable in a way that's readable by humans.

print_r(), var_dump() and var_export() will also show protected and private properties of objects with PHP 5.

Remember that print_r() will move the array pointer to the end. Use reset() to bring it back to beginning.



The expression to be printed.


If you would like to capture the output of print_r(), use the return parameter. If this parameter is set to TRUE, print_r() will return its output, instead of printing it (which it does by default).

Return Values

If given a string, integer or float, the value itself will be printed. If given an array, values will be presented in a format that shows keys and elements. Similar notation is used for objects.



This function internally uses the output buffering with this parameter so it can not be used inside ob_start() callback function.


4.3.0 The return parameter was added. If you need to capture the output of print_r() with an older version of PHP prior, use the output-control functions.
4.0.4 Prior to PHP 4.0.4, print_r() will continue forever if given an array or object that contains a direct or indirect reference to itself. An example is print_r($GLOBALS) because $GLOBALS is itself a global variable that contains a reference to itself.


Example 2597. print_r() example

= array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);

The above example will output:

   [a] => apple
   [b] => banana
   [c] => Array
           [0] => x
           [1] => y
           [2] => z

Example 2598. return parameter example

= array ('m' => 'monkey', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
$results = print_r($b, true); // $results now contains output from print_r