PHP 将可返回数组写入文件

PHP write returnable array to file

我需要读写一个数组from/to一个文件。

文件是这样填充的:

<?php
    return array(
        'Key' => 'value'
    );
?>

我已经能够使用

阅读此文件
$data = include($path . DIRECTORY_SEPARATOR . $file);

如何在保持“<?php return array(); ?>”结构的同时将此数组写回文件?

在文件中存储 json 字符串比再次将此字符串访问数组更好的方法。

您可以使用serialize() 将数组或对象存储到字符串中。此代码显示了它是如何完成的:

<?php

$array = ['Key' => 'value'];

$fh = fopen('array.txt','a+');
fwrite($fh,  serialize($array));
fclose($fh);

$read_array = unserialize(file_get_contents('array.txt'));


var_dump($array,$read_array);
/* 
OUTPUTS 

array(1) {
  ["Key"]=>
  string(5) "value"
}
array(1) {
  ["Key"]=>
  string(5) "value"
}
/*

您可以使用var_export函数:

file_put_contents(
    $path . DIRECTORY_SEPARATOR . $file, 
    "<?php\nreturn " . var_export($data, true) . "\n?>"
);