如何从文本文件读取数组?

问题描述:

我已经存储数组在txt文件中使用php中的file_put_contents(),php数组写入文本文件中的successfullu同时如何将该文本文件读入到php?如何从文本文件读取数组?

<?php 
$arr = array('name','rollno','address'); 
file_put_contents('array.txt', print_r($arr, true)); 
?> 

上面的php写入文本文件成功。我想在PHP中读取该文本文件?

+0

不要使用'print_r'使用'var_export'代替 – Ghost

+0

这是什么diff b/w这两个var_export和print_r? –

+0

如果你打算从数组中重用这些值,你最好使用'var_export'或者只是创建一个json文件 – Ghost

如果你打算重用阵列内的相同的值,你可以创建数组文件中使用var_export代替。

基本例如:

$arr = array('name','rollno','address'); 
file_put_contents('array.txt', '<?php return ' . var_export($arr, true) . ';'); 

然后,在时机成熟时使用这些值,只需使用include

$my_arr = include 'array.txt'; 
echo $my_arr[0]; // name 

或者只是使用一个简单的JSON字符串,则编码/解码:

$arr = array('name','rollno','address'); 
file_put_contents('array.txt', json_encode($arr)); 

然后,当你需要它时:

$my_arr = json_decode(file_get_contents('array.txt'), true); 
echo $my_arr[1]; // rollno 
+0

($ InputArr,true)。';''为什么我们使用return我不知道你能解释一下 –

+1

@BalakumarB查看例子#5 http://php.net/manual/en/function.include.php – Ghost

+0

This正是我所期待的,谢谢。 – dchayka

你可以简单地尝试读取文件,如下

$strarray = file_get_contents('array.txt'); 

然后你可以使用数组根据自己的需要。

fopen()函数

的第一个参数的fopen()包含要打开的文件的名称和所述第二参数指定在所述模式中文件应该被打开

的fread()

fread()的第一个参数包含要读取的文件的名称,第二个参数指定要读取的最大字节数。

FCLOSE()

的FCLOSE()函数是用来关闭一个打开的文件。

$arr = array('name','rollno','address'); 
file_put_contents('array.txt', print_r($arr, true)); 

$myfile = fopen("array.txt", "r") or die("Unable to open file!"); 
echo fread($myfile,filesize("array.txt")); 
fclose($myfile); 

输出:

Array ([0] => name [1] => rollno [2] => address) 

使用这一个:

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