Note: The return parameter was added in PHP 4.3.0
print_r() displays information about a variable in a way that's readable by humans. 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. 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 above example will output:
<pre> Array ( [a] => apple [b] => banana [c] => Array (  => x  => y  => z ) ) </pre>
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).
Note: This function internally uses the output buffering with this parameter so it can not be used inside ob_start() callback function.
Note: If you need to capture the output of print_r() with a version of PHP prior to 4.3.0, use the output-control functions.