Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中按ID合并csv文件的内容_Php_Arrays_Csv_Merge_Array Merge - Fatal编程技术网

在php中按ID合并csv文件的内容

在php中按ID合并csv文件的内容,php,arrays,csv,merge,array-merge,Php,Arrays,Csv,Merge,Array Merge,我想合并两个或多个如下所示的csv文件: offer-id merchant-category Price 123 TV 999.99 文件1: offer-id merchant-category 123 TV 456 TV 文件2: ArticleID Price 456 989.99 789 555.55 123 999.99 输出

我想合并两个或多个如下所示的csv文件:

offer-id     merchant-category   Price
123          TV                  999.99
文件1:

offer-id    merchant-category
123         TV
456         TV
文件2:

ArticleID   Price
456         989.99
789         555.55
123         999.99
输出应如下所示:

offer-id     merchant-category   Price
123          TV                  999.99

文件可能不包含精确的行数,并且行的顺序也不相同

1/加载第一个csv文件

$file1=Array();
if (($fp=fopen("data.csv", "r")) {
  while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
     $file1[$data[0]]=$data[1];
  }
  fclose($fp);
}
2/打开第二个文件并合并

$result=Array();
if (($fp=fopen("data2.csv", "r")) {
  while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
     $category=isset($data[0]) ? $file1[$data[0]] : "unknown";
     $result[]=array($data[0], $category, $data[1]);
  }
  fclose($fp);
}