大家好,我有一个包含多行的文本文件,比方说:
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]);
}
}
}
关于php - 根据从 sql 查询获得的数组从文件中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21960075/