如何正确地将每个字段读入数组


How to read each field into an array properly?

我在csv文件中有这个结构

"http://example.com/example.jpg","example","example2","example3","1234,56"

现在我将这一行分配给变量$line和

$fields = explode('","',$line);

它在"http"处停止。与相同

$fields = csv2array(str_replace(':',''':',$line),$delimiter=',',$enclosure='"',$escape='''');

其中

function csv2array($input,$delimiter=',',$enclosure='"',$escape=''''){ 
     $fields=explode($enclosure.$delimiter.$enclosure,substr($input,1,-1)); 
     foreach ($fields as $key=>$value) 
         $fields[$key]=str_replace($escape.$enclosure,$enclosure,$value); 
     return($fields); 
 } 

如何将每个字段读入数组?

我建议使用fgetcsv()读取该文件,它会根据您的需要返回一个值数组。