Сохранить массив в файле PHP

У меня есть файл 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, так как неверный формат неверен. Как я могу сделать это успешно? Спасибо.

Ответы

Ответ 1

Функция, которую вы ищете, var_export

Вы бы использовали его как это

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

DEMO

Ответ 2

Вероятно, вы не хотите переписывать свой php-код на лету.

Две альтернативы:

  • Использовать базу данных

  • Serialize массив, затем (более) записать в файл. При чтении файла вы просто захотите unserialize значение.

  • Используйте json_encode и json_decode как обсуждалось в № 2

Ответ 3

На самом деле существует несколько способов добиться этого.