用 var_export 来将数据存储到 php 配置文件里的时候,发现var_export转出来的变量定义还是 array()这种形式,不能转为[],所以自己写个函数来转换一下,代码如下:
<?php function format_var_export($data = []) { $string = "<?php\n\nreturn " . var_export($data, TRUE) . ";"; $string = str_replace("=> \n array (", "=> [", $string); $string = str_replace("),", "],", $string); $string = str_replace(");", "];", $string); $string = str_replace("array (", "[", $string); $string = str_replace(" ", " ", $string); return $string; }
实验一下
config.php 代码如下:
<?php $data = [ 'user' => [ 'name' => 'hello', 'uid' => 1 ], 'tel' => [ 'type' => 'phone', 'number' => '123456', ] ]; $string = format_var_export($data); echo $string; function format_var_export($data = []) { $string = "<?php\n\nreturn " . var_export($data, TRUE) . ";"; $string = str_replace("=> \n array (", "=> [", $string); $string = str_replace("),", "],", $string); $string = str_replace(");", "];", $string); $string = str_replace("array (", "[", $string); $string = str_replace(" ", " ", $string); return $string; }
执行脚本 php config.php
输出
好了,这就是我们要的,将这个数据存储到配置文件就行了。