2011-07-01 58 views
3

我這樣做是爲了獲得文件內容到數組:如何將數組放入文件?

$array = file('sample.txt', FILE_IGNORE_NEW_LINES); 

如何扭轉呢?如果我已經將數組寫入文件,每個值都是單獨的行。

+0

我想說的有以'var_dump'或東西給一個變量的方式(使用緩衝液),然後是拉回到與變另一個函數... –

回答

7

將每個值放在不同的行是沒有意義的。您可能正在尋找serialize。寫作和unserialize得到陣列回來之前

$str = implode("\n", $array); 
file_put_contents($file, $str); 
+0

如果文件輸出將在別處使用,則序列化數據將不會有幫助。爲什麼你認爲以OP描述的方式將數據寫入文件是沒有意義的? –

+0

@George爲什麼我們假設它會在其他地方使用?如果這是一個問題,OP應該提及它。 – alexn

+0

我不認爲我們需要做任何假設。 OP要求它,所以他必須有需要。 –

1

serialize數組:

如果你真的想在它自己的行中的每個元素,你可以使用implode

2

我建議你使用file_get_contents函數而不是file()。使用該功能,您將獲得一個字符串,並且可以通過file_put_contents輕鬆將其寫入文件。

爲了從陣列中的字符串您可以使用implode

$string = implode("\n", $array); 
file_put_contents("file.txt", $string); 

要存儲,你必須serialize數組它做一個字符串。

0

可以serialize數組或試試這個:

$result = implode(PHP_EOL, $array); 
file_put_contents('sample.txt', $result);