(PHP 4, PHP 5, PHP 7, PHP 8)

print_r Prints human-readable information about a variable


print_r(mixed $value, bool $return = false): string|bool

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. Static class members will not be shown.



The expression to be printed.


If you would like to capture the output of print_r(), use the return parameter. When this parameter is set to true, print_r() will return the information rather than print it.

Return Values

If given a string, int 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.

When the return parameter is true, this function will return a string. Otherwise, the return value is true.


Example #1 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 #2 return parameter example

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



When the return parameter is used, this function uses internal output buffering prior to PHP 7.1.0, so it cannot be used inside an ob_start() callback function.

See Also

  • ob_start() - Turn on output buffering
  • var_dump() - Dumps information about a variable
  • var_export() - Outputs or returns a parsable string representation of a variable