将每个文件加载到字符串数组中(例如,使用file_get_contents)。
执行一些循环,对于数组 2 中的每个项目,确定该项目是否存在于数组 1 中。如果存在,则从数组 2 中删除该项目并继续。
完成后,数组 2 将仅包含唯一行。
编辑:
如果您只想删除 File2 中也存在于 File1 中的行,那么您正在寻找唯一值(顺序无关紧要)。一个快速的方法是使用array_diff函数。
这是一个例子:
$file1 = array('Mango', 'Orange', 'Cherry', 'Apple', 'Blackberry');
$file2 = array('Apple', 'Orange', 'Mango', 'Banana', 'Cherry', 'Blackberry');
$diff = array_diff($file2, $file1);
var_dump($diff);
// Output
array
3 => string 'Banana' (length=6)
如果您喜欢使用我在第一部分中提到的循环手动执行此操作,您可以这样做:
// Loop over every value in file2
for($i = count($file2) - 1; $i >= 0; $i--)
{
// Compare to every value in file1; if same, unset (remove) it
foreach($file1 as $v)
if ($v == $file2[$i])
{
unset($file2[$i]);
break;
}
}
// Reindex the array to remove gaps
$output = array_values($file2);
var_dump($output);
// Output
array
0 => string 'Banana' (length=6)