php - 根据从 sql 查询获得的数组从文件中删除行

标签 php mysql arrays stripos

大家好,我有一个包含多行的文本文件,比方说:

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/

相关文章:

java - 使用数组进行选择排序

Java pojo - 迭代新数据集合后回收缓存的哈希表值

javascript - AJAX xmlhttp.open

php - AWS EC2 vsftpd 将文件/目录所有者显示为数字 (48)

php - 如何从 .phpcs.xml 中的 PHP Code Sniffer 检查中排除某些目录以外的所有内容?

php - 对查询结果列的一部分求和?

mysql - SQL查询更新指定单元格

javascript - 如何改进嵌套对象数组查找

PHP - 按数组键对数组进行排序

php - 照片上传 getimagesize() 警告 - 文件名不能为空