我有2个.txt文件。 首先.txt文件是curl数据(机器人),它总是得到2000 .txt行,包括新的
,第二个.txt文件包含第一个.txt文件的新数据。 我使用第二个.txt文件作为脚本。
我不能删除共和党人。 (我的意思是我尝试根据旧值获取新值)因此脚本始终使用new和old的数据。
有没有办法打开所有文件,删除重复项并相应地将行保存到第二个文件?
有三个刷新示例
这里是FIRST刷新和2 .txt文件
第一个.txt文件(你应该认为它有2000行)刷新卷曲机器人
Something here10
Something here9
Something here8
Something here7
Something here6
Something here5
Something here4
Something here3
Something here2
Something here1
我将使用的第二个.txt文件
Something here10
Something here9
Something here8
Something here7
Something here6
Something here5
Something here4
Something here3
Something here2
Something here1
这里是SECOND刷新和2 .txt文件
第一个.txt文件(你应该认为它有2000行)刷新curl bot
Something here14
Something here13
Something here12
Something here11
Something here10
Something here9
Something here8
Something here7
Something here6
Something here5
我将使用的第二个.txt文件
Something here14
Something here13
Something here12
Something here11
这里是THIRD refresh和2 .txt文件
第一个.txt文件(你应该认为它有2000行)刷新curl bot
Something here16
Something here15
Something here14
Something here13
Something here12
Something here11
Something here10
Something here9
Something here8
Something here7
我将使用的第二个.txt文件
Something here16
Something here15
修改: 我发布了两个新刷新
这是第四次刷新和2 .txt文件
第一个.txt文件(你应该认为它有2000行)刷新curl bot
Something here20
Something here19
Something here18
Something here17
Something here16
Something here15
Something here14
Something here13
Something here12
Something here11
我将使用的第二个.txt文件
Something here20
Something here19
Something here18
Something here17
这里是FIFTH刷新和2 .txt文件
第一个.txt文件(你应该认为它有2000行)刷新curl bot
Something here24
Something here23
Something here22
Something here21
Something here20
Something here19
Something here18
Something here17
Something here16
Something here15
我将使用的第二个.txt文件
Something here24
Something here23
Something here22
Something here21
答案 0 :(得分:1)
(阅读和解释评论)我认为您需要使用PHP array push
以下代码
<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
$array1 = array('here9', 'here8', 'here7', 'here6', 'here5', 'here4', 'here3', 'here2', 'here1');
$array2 = array('here4', 'here3', 'here2', 'here1');
echo"Array 1:<br />"; // just checking -> will be removed
print_r($array1); // just checking -> will be removed
echo"<br /><br />Array 2:<br />"; // just checking -> will be removed
print_r($array2); // just checking -> will be removed
echo"<br /><br />"; // will be removed
$newarray = array(); // create new empty array to receive new data
foreach ($array1 as $value) { /* parse array */
// here, we'll make use of PHP array_push
if( !in_array($value, $array2) ) { // if value is not in 2nd array
array_push($newarray, $value); // we add to new array we created
} else { /* do nothing */ }
}
echo"New array with duplicate removed:<br />"; // just checking -> will be removed
print_r($newarray); // just checking -> will be removed
file_put_contents('output.txt', $newarray); // we write new content of array to file
?>
答案 1 :(得分:0)
我试图尽可能保持这个级别,但实质上是将每一行推到一个数组上,然后使用array_unique删除重复项:
$line_array = array();
$files = getFiles();
foreach($files as $file)
{
$lines = $file->getAllLines();
foreach($lines as $line)
{
$line_array[] = $line;
}
}
$without_duplicates = array_unique($line_array);