在下面的程序中
$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';
但它不起作用,请帮忙
答案 0 :(得分:2)
使用json_encode或serialize获取数据结构的可存储(和紧凑)表示形式,然后json_decode或unserialize将其恢复。
答案 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_decode
或serialize
/ unserialize
。
答案 4 :(得分:0)
如果您希望以后能够读取该文件并返回PHP数组,那么您需要“序列化”该数组:
以后
$ array = unserialize(file_get_contents(“test.data”));
如果它在文件中看起来可读,则var_export($ array,1)或print_r($ array,1)并存储它们的输出。