使用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));
}