我尝试将 2 个文本文件与由 分隔的数据进行比较-
,在一种情况下,一个文件获取所有数据,在另一种情况下,只有具有相同 id 的更改数据在这种情况下,这个文件被称为db_tmp.txt
两个文件中的结构是这样的:
文件 txt(第一个是 id)db/text.txt
1a34-Mark Jhonson
1a56-Jhon Smith
1a78-Mary Walter
用于比较的文件,例如更改的数据,相同的 id 但不同的内容 - db_tmp.txt
1a56-Tom Tom
我创建了一个函数来比较两个文件以检测是否存在相同的 id 和更改:
<?php
$cron_file = file("db_tmp.txt");
$cron_compare = file("db/test.txt");
function cron($file_temp, $file_target)
{
for ($fte = 0; $fte < sizeof($file_temp); $fte++) {
$exp_id_tmp = explode("-", $file_temp[$fte]);
$cr_temp[] = "" . $exp_id_tmp[0] . "";
}
for ($ftt = 0; $ftt < sizeof($file_target); $ftt++) {
$exp_id_targ = explode("-", $file_target[$ftt]);
$cr_target[] = "" . $exp_id_targ[0] . "";
}
$diff = array_diff($cr_target, $cr_temp);
$it = 0;
foreach ($diff as $diff2 => $key) {
echo $diff2;
echo "--- $key";
print "<br>";
}
}
cron($cron_file, $cron_compare);
?>
如果 tmp 中存在相同的 id,我必须检测另一个文件中的条目并更改为 tmp 的值,我尝试但无法使其工作,该功能有效但不适用于所有内容,如果有人可以帮助我,那将是完美的,因为我不知道如何继续并保存。