使用php读取多个.txt文件并将主题保存在单个简单数组中
我试图读取多个文件并将它们放在一个数组中 我的代码如下所示:使用php读取多个.txt文件并将主题保存在单个简单数组中,php,arrays,loops,Php,Arrays,Loops,我试图读取多个文件并将它们放在一个数组中 我的代码如下所示: $directory = "./folder/folder/" $file_array = array(); if ($condition == 'TRUE'){ $file_array = array( 'file_1.txt', 'file_2.txt',
$directory = "./folder/folder/"
$file_array = array();
if ($condition == 'TRUE'){
$file_array = array(
'file_1.txt',
'file_2.txt',
'file_3.txt',
'file_4.txt'
);
}
foreach($file_array as $file){
$single_file_arr[] = file($directory . $file);
}
echo "<pre>";
print_r($single_file_arr);
echo "</pre>";
//OUTPUTS:
Array
(
[0] => Array
(
[0] => value1
[1] => value2
[2] => value3
)
[1] => Array
(
[0] => value4
[1] => value5
)
[2] => Array
(
[0] => value6
[1] => value7
)
[3] => Array
(
[0] => value8
[1] => value9
)
)
您使用的是file()函数,它以数组的形式返回文件的内容。因此,您应该使用file_get_contents()将内容作为字符串直接读取
所以改变
file_get_contents($directory . $file);
到
它就像你需要的一样。除了他们想要一个行数组,而不是每个文件内容的数组。
file($directory . $file);
file_get_contents($directory . $file);
$directory = "./folder/folder/"
$file_array = [];
if ($condition == 'TRUE') {
$file_array = [
'file_1.txt',
'file_2.txt',
'file_3.txt',
'file_4.txt'
];
}
$single_file_arr = [];
foreach ($file_array as $file) {
$single_file_arr = array_merge($single_file_arr, file($directory . $file));
}