最近将项目原本手写的配置文件挪到管理后台供其它人方便配置,这个过程使用到了var_export函数。
总结:
1、根据官方说明,var_export必须返回合法的php代码, 也就是说,var_export返回的代码,可以直接当作php代码赋值个一个变量。 而这个变量就会取得和被var_export一样的类型的值,所以resource类型, 是无法简单复制的,所以, 当var_export的变量是resource类型时, var_export会返回NULL。但是var_dump则会返回资源类型。
//实验
$e = fopen("aa.php", "r");
var_export($e);
var_dump($e);
//运行结果
NULL
resource(3) of type (stream)
2、根据官方说明,第二个参数设置为TRUE是则返回变量的表示。
$c = 'guugle';
var_export($c); //直接打印出 'guugle'
var_export($c, TRUE); //则无输出,返回变量表示
$d = var_export($c, TRUE);
echo $d; //输出 'guugle'
$arr = array ( 1 , 2 , array ( "apple" , "banana" , "orange" ));
file_put_contents("aa.php", "<?php\n return ".var_export($arr, true)."\n?>"); //注意:需要加第二个参数TRUE返回变量的表示
结果: