欢迎光临 - 我的站长站,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!

php教程

PHP两个TXT文件对比,去除重复内容

php教程 我的站长站 2025-02-15 共10人阅读

示例代码

<?php
// 读取两个文件的内容
$file1Content = file('file1.txt', FILE_IGNORE_NEW_LINES); // 忽略行尾换行符,返回数组
$file2Content = file('file2.txt', FILE_IGNORE_NEW_LINES); // 忽略行尾换行符,返回数组
// 将第二个文件的内容存储到关联数组中,以便快速查找
$linesToRemove = array_flip($file2Content); // 使用array_flip()将数组翻转,便于检查键值是否存在
// 移除第一个文件中包含在第二个文件中的内容
$result = array_diff($file1Content, $file2Content); // 使用array_diff()移除重复项
// 将结果保存到新文件中
file_put_contents('result.txt', implode("\n", $result)); // 使用implode()重新组合数组为字符串,并保存到文件
?>

释义

步骤 1: 读取两个文件的内容

首先,你需要读取两个文本文件的内容。可以使用file_get_contents()函数来读取文件内容。

步骤 2: 分析第二个文件的内容

将第二个文件的内容存储在一个数组中,以便于后续的查找和比较。

步骤 3: 移除第一个文件中的内容

遍历第一个文件的内容,并检查每一行是否存在于第二个文件的数组中。如果存在,则从第一个文件的数组中移除该行。

步骤 4: 输出或保存修改后的内容

最后,将修改后的内容输出或保存回一个新文件。


读取文件内容:使用file()函数读取两个文件的内容,并忽略每行的换行符,返回一个数组。

创建查找数组:使用array_flip()将第二个文件的数组翻转,这样可以快速检查某个值是否存在于数组中。

移除内容:使用array_diff()函数从第一个文件的数组中移除所有存在于第二个文件数组中的元素。

保存结果:使用file_put_contents()函数将结果保存到新文件中,使用implode()函数将数组元素重新组合成字符串,每个元素之间用换行符分隔。

这样,你就成功地从第一个文本文件中移除了所有出现在第二个文本文件中的内容。