# print_r

(PHP 4, PHP 5, PHP 7)

print_r — 以易于理解的格式打印变量。

### 说明

print_r ( mixed `$expression` [, bool `$return` = `FALSE` ] ) : mixed

print_r() 以人类易读的格式显示一个变量的信息。

print_r()、 var_dump()、 var_export() 都会显示对象 protected 和 private 的属性。 Class 的静态属性（static） 则不会显示。

### 参数

`expression`

  要打印的表达式。

`return`

  想要获取 print_r() 输出的内容，使用 `return` 参数。 当此参数为 `TRUE`，print_r() 会直接返回信息，而不是输出。

### 返回值

如果输入的内容是 string、 integer 或 float，会直接输出值本身。 如果输入的内容是 array，展示的格式会显示数组的键和包含的元素。object 也类似。

当 `return` 参数设置成 `TRUE`，本函数会返回 string 格式。否则返回 `TRUE`。

### 注释

> Note:

> 当使用了`return` 参数时，本函数使用其内部输出缓冲，因此不能在 ob_start() 回调函数的内部使用。

### 范例

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 的输出
    ?>

### 参见

- ob_start() - 打开输出控制缓冲
- var_dump() - 打印变量的相关信息
- var_export() - 输出或返回一个变量的字符串表示