var_export, var_dump, print_r的区别和使用

1、var_export ( mixed $expression [, bool $return ] ) : mixed

此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。
也就是说改函数返回的是合法的变量结构,可以赋值给其他变量使用。可用来生成PHP配置文件,一般以 return 开头的大数组。
例如Laravel57中生成配置文件缓存的操作:

$this->files->put(
    // $config 是一个数组,包含了所有的配置信息
    $configPath, '<?php return '.var_export($config, true).';'.PHP_EOL
);

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

$a = array (1, 2, array ("a", "b", "c"));
$arr = var_export ($a, true);

2、var_dump ( mixed $expression [, mixed $… ] ) : void
打印变量的相关信息

3、print_r ( mixed $expression [, bool $return = FALSE ] ) : mixed
以人类易读的格式显示一个变量的信息。
当第二个参数为 TRUE,print_r() 会直接返回信息,而不是输出,返回string。
可用来记录复杂结构的日志信息。

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

示例

$a = array (1, 2, array ("a", "b", "c"));

Log::info(var_export($a, true));
Log::info(print_r($a, true));

内容为:

array (
  0 => 1,
  1 => 2,
  2 =>
  array (
    0 => 'a',
    1 => 'b',
    2 => 'c',
  ),
)

Array
(
    [0] => 1
    [1] => 2
    [2] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值