用 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
輸出
好了,這就是我們要的,將這個數據存儲到配置文件就行了。