2013-06-14 3 views
1

Я вывел свой массив в файл с помощью метода print_r($myArray, true), но у меня возникли проблемы с повторным импортом его в виде массива.Возвращение массива из файла

Я продолжаю возвращать строку с массивом, а не сам массив. Я пробовал несколько разных комбинаций, включая print_r, и сериализую, но, похоже, не все правильно. Что мне не хватает?

Вот что у меня есть:

$myArray = print_r(file_get_contents($logFile), true); 

для справки содержимого файла журнала выглядит так:

Array 
(
    [0] => Array 
     (
      [0] => blah 
      [1] => blah 
     ) 
... 

Благодарность


EDIT: Решение - Вот что я пришел до:

Я изменил содержимое файла, чтобы включить теги php, и объявил массив там, используя var_export вместо print_r.

Вот что я использовал в качестве моей строки содержимого при записи в файл:

<?php $myArray = '.var_export($myArray, true).'; ?'.'> 

От там было просто включить, чтобы получить массив обратно.

+1

Возможный дубликат HTTP : //stackoverflow.com/questions/7025909/create-array-printed-with-print-r Выбранный ответ содержит довольно приятную функцию, которая может помочь вам! –

+0

@AdiBradfield благодарю за это. Я нашел другое обходное решение, которое я считаю немного чище. – John

+0

Не могли бы вы разместить его? Я заинтригован! –

ответ

0

Вы должны просто хранить массив, как ... массив, например, так:

file_put_contents('myfile.txt', '<?php return ' . var_export($array, true) . '; ?>'); 

Тогда следующим образом:

$array = include 'myfile.txt'; 

Смотрите также: var_export()

+0

Спасибо, были ты час назад. :) – John

+0

@ Джон где-то еще, я думаю? :) –