在php中比较2个csv文件和1列

时间:2014-08-07 18:55:04

标签: php mysql csv

我必须比较每个文件有1列的2个csv文件:

file1.csv:

列1

97888亿
9788800000001
9788800000002
9788800000003
...

file2.csv:

列1

97888亿
9788800000001
9788800000002
9788800000006
9788800000007
9788800000008
...

在第二个csv文件(file2.csv)中找不到某些EAN代码时,我必须做一些事情。例如代码9788800000003它只存在于file1.csv。

现在,当第一个文件中的EAN代码在第二个文件中找不到并将其设置为“0”时,我必须更新DB中的表(在这种情况下,必须更改ean 9788800000003) 0数量):

mysql_query(“UPDATE $ update_table SET quantity ='0'WERE ean13 ='$ ean13'”)

如何比较差异列?

1 个答案:

答案 0 :(得分:3)

这样的事情:

$file1 = file('file1.csv');
$file2 = file('file2.csv');

$diff  = array_diff($file1, $file2);
$list  = implode(',', $diff);

$query = "UPDATE $update_table SET quantity='0' WHERE ean13 IN ($list)";
  1. 将文件读入行数组
  2. 获取一系列差异
  3. 生成EAN差异列表
  4. 在WHERE子句中使用IN