各ファイルを文字列配列にロードします(たとえば、file_get_contentsを使用)。
配列2のすべてのアイテムについて、そのアイテムが配列1に存在するかどうかを判断するループを実行します。存在する場合は、配列2からアイテムを削除して続行します。
完了すると、配列2には一意の行のみが含まれます。
編集:
File1にも存在するFile2の行を削除したいだけの場合は、一意の値を探しています(順序は重要ではありません)。これを行う簡単な方法は、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)