2012-05-23 120 views
0

我正在製作一個將嵌套數組輸出到PHP中的文本文件的腳本。然而,我努力讓其他腳本使用陣列時,我使用include('array.txt');在PHP腳本中包含來自文本文件的數組

我已經嘗試了幾種不同的方法,如$var = include('array.txt');或只是包含與文本文件中定義的var無濟於事。

要注意,此文件只曾經希望產生一次重要的是和數組不應之後改變(因此輸出到一個文本文件的方法)

這裏是陣列什麼的例子文件看起來像。

array(array('2','30','37','43','104','152','166','193'),array('10','60','95','112','116','163','199','240','242'),array('12','44','80','91','128','138','140','231'),array('19','38','102','111','130','134','175','207','210','246')) 

這樣做的正確方法是什麼?

+1

將它保存爲json_encode並將其解碼回來? – tigrang

回答

-1

最簡單的方法是將輸出文件的文件擴展名更改爲.php。 .php只是一個帶.php擴展名的文本文件。然後你可以使用include函數來包含php文件。

0

使用序列:

file_put_contents ($filename, serialize ($array)); // write to file 
$array = unserialize (file_get_contents ($filename)); // retrieve 

或JSON編碼:

file_put_contents ($filename, json_encode ($array)); // write to file 
$array = json_decode (file_get_contents ($filename), true); // retrieve 

此外,它可能是使用gzip編碼,以節省磁盤空間是一個好主意。 (使用gzencode()gzdecode()

+0

謝謝,但由於某些原因,將不起作用,但Azoloths方法完美。 – wezternator

+0

爲什麼不能這樣工作? Azoloth的方法實際上是一個非常糟糕的主意,因爲它佔用了更多的空間,而不是它應該完成的方式 - 序列化和JSON編碼是爲了這樣的事情。 – Jeroen

+0

我不知道爲什麼它不起作用,但我沒有花太多時間搞清楚。我看不出它會如何佔用更少的空間,據我所知他們只是把它們放在語音標記中,並在它的前面添加json。該文件只會在最高端10kb大。但通常是2kb – wezternator

相關問題