将数组保存到PHP文件

时间:2013-08-20 18:30:51

标签: php arrays

我有一个用于存储数组的PHP文件:

<?php
  $arr = array (
    "A" => "one",
    "B" => "two",
    "C" => "three"
  );
?>

我使用require打开文件,每个条目都加载到表单中。 (foreach循环)我想将$_POST变量保存回原始文件(以相同格式)保存(覆盖)。我可以毫不费力地制作表格并发回变量。我只需要一种方法将数组打印回原始文件。

示例结果:

<?php
  $arr = array (
    "A" => "new value",
    "B" => "other new value",
    "C" => "third new value"
  );
?>

我无法使用print_r,因为返回的格式不正确。我怎样才能成功做到这一点?谢谢。

3 个答案:

答案 0 :(得分:51)

您正在寻找的功能是var_export

你会像这样使用它

file_put_contents($filename, '<?php $arr = ' . var_export($arr, true) . ';');

DEMO

答案 1 :(得分:7)

您可能不希望动态地重写您的PHP代码。

两种选择:

  1. 使用数据库

  2. Serialize数组,然后(over)写入文件。阅读文件时,您只需要unserialize值。

  3. 使用{2}中讨论的json_encodejson_decode

答案 2 :(得分:3)

实际上有几种方法可以实现这一目标。

  1. 打开文件并使用file_put_contents()(http://php.net/manual/fr/function.file-put-contents.php
  2. 写入文件
  3. 使用JSON.encode(http://www.php.net/manual/fr/function.json-encode.php
  4. 将您的数组编码的文件写入字符串
  5. 使用file_get_contents(file_get_contents)
  6. 读取您的文件
  7. 使用JSON.decode(http://www.php.net/manual/fr/function.json-decode.php
  8. 将您的字符串转换为数组