我必须比较 2 个 csv 文件,每个文件有 1 列:
文件 1.csv:
第一列
9788800000000
9788800000001
9788800000002
9788800000003
...
文件 2.csv:
第一列
9788800000000
9788800000001
9788800000002
9788800000006
9788800000007
9788800000008
...
当在第二个 csv 文件 (file2.csv) 中找不到某些 EAN 代码时,我必须执行某些操作。例如,代码 9788800000003 仅存在于 file1.csv 中。
现在,当第一个文件中的 EAN 代码在第二个文件中找不到时,我必须更新数据库中的一个表并将其设置为“0”(在这种情况下,必须更改 ean 9788800000003 0 数量):
mysql_query("UPDATE $update_table SET quantity='0' WHERE ean13='$ean13'")
如何比较列的差异?
最佳答案
像这样:
$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)";
- 将文件读入行数组
- 获取差异数组
- 生成 EAN 差异列表
- 在 WHERE 子句中使用 IN
关于php - 在 php 中比较 2 个 csv 文件和 1 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25190050/