將每個文件加載到一個字符串數組中(例如使用file_get_contents)。
執行一些循環,對於數組2中的每個項目,確定項目是否存在於數組1中。如果是,請從數組2中移除項目並繼續。
完成後,數組2將只包含唯一的行。
編輯:
如果你只是想刪除文件2是也存在於文件1行,你要尋找的唯一值(其中順序並不重要)。一個快速的方法是使用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)
謝謝非常 – user1091558 2012-02-23 17:01:34