Prints human-readable information about a variable

- « isset

- serialize »

- PHP Manual
- Variable handling Functions
- Prints human-readable information about a variable

# print_r

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

print_r — Prints human-readable information about a variable

### Description

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

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.

### Parameters

`value`

  The expression to be printed.

`return`

  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`.

### Changelog

Version | Description
--- | ---
8.4.0 | Return type changed from string|bool to string|true.

### Examples

Example #1 print_r() example

    <pre>
    <?php
    $a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
    print_r ($a);
    ?>
    </pre>

The above example will output:

    <pre>
    Array
    (
        [a] => apple
        [b] => banana
        [c] => Array
            (
                [0] => x
                [1] => y
                [2] => z
            )
    )
    </pre>

Example #2 `return` parameter example

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

### Notes

> Note:

> 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