将数组写入文件

时间:2013-06-09 11:53:11

标签: php

在下面的程序中

$array[name1][0] = 'name';
$array[name1][1] = '11';
$array[name2][0] = 'name2';
$array[name2][1] = '11';
$fileName = "file.php"
$fp = fopen($fileName,'w');
$msg = $array;
fwrite($fp,$msg);
fclose($fp);

在这个文件“file.php”中,我想编写一个数组......就像它的读取一样

<?
$array[name1][0] = 'name';
$array[name1][1] = '11';
$array[name2][0] = 'name2';
$array[name2][1] = '11';

但它不起作用,请帮忙

5 个答案:

答案 0 :(得分:2)

使用json_encodeserialize获取数据结构的可存储(和紧凑)表示形式,然后json_decodeunserialize将其恢复。

答案 1 :(得分:0)

你可以这样做:

fwrite($fp,print_r($msg,true));

答案 2 :(得分:0)

本机最接近的是使用var_export并将其返回值写入文件。

如果不这样做,你应该实现一些东西来从Array构建这种格式。

答案 3 :(得分:0)

var_export函数就是这样:

fprintf($fp, '<?php $array = %s;', var_export($array, true));

它会生成有效的PHP代码,您可以在此之后包含该文件:

include "file.php";

请注意,您可以从PHP文件中return,因此这也可以使用:

fprintf($fp, '<?php return %s;', var_export($array, true));

然后:

$array = include "file.php";

生成PHP代码的替代方法是json_encode / json_decodeserialize / unserialize

答案 4 :(得分:0)

如果您希望以后能够读取该文件并返回PHP数组,那么您需要“序列化”该数组:

以后

$ array = unserialize(file_get_contents(“test.data”));

如果它在文件中看起来可读,则var_export($ array,1)或print_r($ array,1)并存储它们的输出。