在PHP中通过ID合并csv文件的内容

时间:2015-02-11 09:48:12

标签: php arrays csv merge array-merge

我想合并两个或多个看起来像这样的csv文件:

文件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 个答案:

答案 0 :(得分:0)

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