PHP:如果ID多次出现且一列具有特定值,则从CSV中删除一行

问题描述 投票:0回答:1

我在CSV文件中具有以下数据。绿线是我想要保留的。

[基本上,如果某人只有一行,我想保留它。

如果它们有多行,我想删除第三列为A - Fully Fit的任何地方。

浏览完整个文件后,我想将其保存为原始文件。

我曾尝试编写代码,但不确定是否是星期五,但此刻逻辑逃避了我。

可能只有一行,也可能有几十个

enter image description here

$a = Array();
$b = Array();
if (($handle = fopen($filename, "r")) !== FALSE) {
    fgetcsv($handle);
    while (($line = fgetcsv($handle, 4096, ",")) !== FALSE) {
        $a[$line[1]][] = Array("Activedate"=>$line[0],"Collar No"=>$line[1],"Deactivedate"=>$line[2],"Eligibilitycodedescription"=>$line[3],"Eligibilityid"=>$line[4],"Forenames"=>$line[5],"Surname"=>$line[6]);
    }
    foreach ($a as $k=>$v) {
        if (count($k)>1) { // IF THERE IS MORE THAN ONE RECORD FOR THE PERSON
            // REMOVE THE RECORD WHERE 3RD COLUMN IS "A-FULLY FIT"
            // IS THIS THE BEST WAY? I DOUBT IT!
        }
    }
}
fclose($filename);
php arrays fgetcsv
1个回答
-2
投票

您可以为此使用PHPMyAdmin数据库。保留ID作为主键,这样就不会允许多个条目,因为主键本质上必须是唯一的。

© www.soinside.com 2019 - 2024. All rights reserved.