PHP将数组从文件读入数组,不带引号

PHP将数组从文件读入数组,不带引号,php,arrays,file,Php,Arrays,File,我有一个函数,可以将db查询的结果写入数组。另一个函数将此数组写入文件 现在我想要一个函数,可以将文件的内容放回数组中 数组如下所示(当我从数据库中获取它时,以及它在文件中的外观): 我试过这个-> public function file2Array($file){ $filename = fopen($file,"r"); $arr = array(); while(!feof($filename)) { //read fi

我有一个函数,可以将db查询的结果写入数组。另一个函数将此数组写入文件

现在我想要一个函数,可以将文件的内容放回数组中

数组如下所示(当我从数据库中获取它时,以及它在文件中的外观):

我试过这个->

public function file2Array($file){

    $filename = fopen($file,"r"); 
    $arr = array(); 

        while(!feof($filename)) 
        { 
    //read file line by line into a new array element 
    $arr[] = fgets($filename, 4096); 
    } 
    fclose ($filename); 
    return $arr;
    }
它可以工作,但我的数组返回时,每行前面都有一个(单个)引号(当然,这会使数组变得无用)

如何将数组从文件返回到一个不带引号的数组中,就像在文件中一样


编辑:也许我应该提到正在读取的文件具有.php扩展名,正如有人已经说过的那样-使用一些数据格式。CSV、JSON、XML——一切都可以

您现在所做的只是将print_r或var_dump(或您使用的任何函数)的输出写入一个文件。这些函数的输出用于提供信息,而不是存储数据

以下是一些快速功能:

function array_to_file(array $array, $filename)
{
 $handle = fopen($filename, 'w');
 foreach ($array as $a) {
     $string = json_encode($a).PHP_EOL;
     fwrite($handle, $string);
   } 
   fclose($handle)
}

function file_to_array($filename)
{
   $result = array();
   $array_of_lines = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
   foreach ($array_of_lines as $line){
     $result[] = json_decode($line, true);
   }
   return $result;
}

您的文件是什么样子的?您不想先用文件写入功能搜索问题吗?(顺便说一句,还有一些东西可以逐行读取文件:)我最初的反应是问为什么要在文件中存储数据类型(数组)。我认为将数组存储到带有标题的CSV文件中会更容易,特别是由于该数组的简单性,这将使提取值作为其真实数据类型变得更容易。因此,数据库连接每天只需进行一次。该文件将使用每日数据创建,而不是连接数据库。csv很好。另外,使用json序列化数组并将其存储到文件中如何?你可以很容易地编码和解码。
function array_to_file(array $array, $filename)
{
 $handle = fopen($filename, 'w');
 foreach ($array as $a) {
     $string = json_encode($a).PHP_EOL;
     fwrite($handle, $string);
   } 
   fclose($handle)
}

function file_to_array($filename)
{
   $result = array();
   $array_of_lines = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
   foreach ($array_of_lines as $line){
     $result[] = json_decode($line, true);
   }
   return $result;
}