zoukankan      html  css  js  c++  java
  • PHP中print_r、var_export、var_dump区别

    PHP中print_r、var_export、var_dump区别比较:

    可以看出print_r跟var_export都是可以作为返回值的,只需要把第二个参数设置为true即可

    print_r
    (PHP 4 , PHP 5)print_r — 打印关于变量的易于理解的信息。

    描述
    bool print_r ( mixed expression [, bool return])

    注: 参数 return 是在 PHP 4.3.0 的时候加上的

    print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。

    记住,print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。

    1 <?php
    2 $a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z'));
    3 print_r ($a);
    4 ?>

    上边的代码将输出:

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

    如果想捕捉 print_r() 的输出,可使用 return 参数。若此参数设为 TRUE,print_r() 将不打印结果(此为默认动作),而是返回其输出。

    例子 1. return 参数示例

    1 <?php
    2 $b = array ('m' => 'monkey', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
    3 $results = print_r ($b, true); //$results 包含了 print_r 的输出结果
    4 ?>

    注: 如果想在 PHP 4.3.0 之前的版本中捕捉 print_r() 的输出,可使用输出控制函数。

    注: 在 PHP 4.0.4 之前的版本中,如果给出的 array 或 object 包含了直接或间接指向自身的引用,print_r() 将永远继续下去。print_r($GLOBALS) 就是一个例子,因为 $GLOBALS 自身即是全局变量,其包含了指向自身的引用。

    var_export
    (PHP 4 >= 4.2.0, PHP 5)var_export — 输出或返回一个变量的字符串表示

    描述
    mixed var_export ( mixed expression [, bool return])

    此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。

    您可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。

    比较 var_export() 和 var_dump().

     1 <?php
     2 $a = array (1, 2, array ("a", "b", "c"));
     3 var_export ($a);
     4 /*
     5 输出:
     6 array (
     7 0 => 1,
     8 1 => 2,
     9 2 =>
    10 array (
    11 0 => 'a',
    12 1 => 'b',
    13 2 => 'c',
    14 ),
    15 )
    16 */ 
    17 $b = 3.1;
    18 $v = var_export($b, TRUE);
    19 echo $v;
    20 
    21 /* 输出:
    22 3.1
    23 */
    24 ?>

    var_dump

    (PHP 3>= 3.0.5, PHP 4 , PHP 5)var_dump — 打印变量的相关信息

    描述
    void var_dump ( mixed expression [, mixed expression [, …]])

    此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

    提示: 为了防止程序直接将结果输出到浏览器,您可以使用输出控制函数(output-control functions)来捕获函数的输出,并把它们保存到一个 string 型的变量中。

    可以比较一下 var_dump() 与 print_r()。

    例子 1. var_dump() 示例

     1 <?php
     2 $a = array (1, 2, array ("a", "b", "c"));
     3 var_dump ($a); /* 输出:
     4 array(3) {
     5 [0]=>
     6 int(1)
     7 [1]=>
     8 int(2)
     9 [2]=>
    10 array(3) {
    11 [0]=>
    12 string(1) "a"
    13 [1]=>
    14 string(1) "b"
    15 [2]=>
    16 string(1) "c"
    17 }
    18 }*/
    19 $b = 3.1;
    20 $c = TRUE;
    21 var_dump($b,$c);
    22 
    23 /* 输出:
    24 float(3.1)
    25 bool(true)*/
    26 
    27 ?>
     
  • 相关阅读:
    c++ 队列
    17:特殊类成员:函数指针5
    c++ deque 双端队列
    18:字符串-char型字符串
    c++ 16 this 和 继承 及继承机制中的构造函数 与 析构函数
    c++ string char* const char*
    c++ 小片段
    google protobuf 使用示例
    hibernate-cache
    hibernate-criteria查询(二)
  • 原文地址:https://www.cnblogs.com/zengbin/p/4784969.html
Copyright © 2011-2022 走看看