大家好,我有一个包含几行的文本文件,假设:
line1
line2
line3
line4
line5
基于对 mysql 数据库的查询,我得到一些值,例如
line1
line3
我想从查询中获取数组并从文本文件中删除这些值,以便结果为:
line2
line4
line5
我从数据库获取值没有问题,我的问题是如何从文本文件中删除行?
如果文件中只有一个值实例,则如下所示:
$rows = your_fetch_all_func(); //or while($rows[] = your_fetch_assoc_func()) {}
$lines = file('path/to/file.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach($rows as $row) {
if($key = array_search($row['column'], $lines)) {
unset($lines[$key]);
}
}
如果数据库中的数据可以多次出现在文件中,请使用类似的东西,尽管可能有一种更流畅的方法:
foreach($rows as $row) {
if($keys = array_keys($lines, $row['column'])) {
foreach($keys as $key) {
unset($lines[$key]);
}
}
}