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))