【问题标题】:how to remove rows in an associate array based on duplicate column values php如何根据重复的列值php删除关联数组中的行
【发布时间】:2021-09-18 12:24:12
【问题描述】:

我有这个 Associate 数组。 Quick Track Club 出现两次 我想删除名称列中的任何重复项的整行。使用php

0 | Array
0 => 1
1 => Long Beach Sprinters
2 => LBS
3 => 1
4 => 0
5 => 0
6 => FALSE
7 => 0
1 | Array
0 => 2
1 => Quick Track Club
2 => QTC
3 => 1
4 => 0
5 => 0
6 => FALSE
7 => 0
2 | Array
0 => 3
1 => Mark Of a Champion
2 => MaC
3 => 2
4 => 0
5 => 0
6 => FALSE
7 => 0
3 | Array
0 => 4
1 => Unattached
2 => Unattached
3 => 2
4 => 0
5 => 0
6 => FALSE
7 => 0
4 | Array
0 => 5
1 => Quick Track Club
2 => QTC
3 => 2
4 => 0
5 => 0
6 => FALSE
7 => 0

如果没有第二次出现 Quick Track Club,它应该看起来像虱子。 array_unique 不起作用,因为整行不相同我正在从 csc 文件创建数组

0 | Array
0 => 1
1 => Long Beach Sprinters
2 => LBS
3 => 1
4 => 0
5 => 0
6 => FALSE
7 => 0
1 | Array
0 => 2
1 => Quick Track Club
2 => QTC
3 => 1
4 => 0
5 => 0
6 => FALSE
7 => 0
2 | Array
0 => 3
1 => Mark Of a Champion
2 => MaC
3 => 2
4 => 0
5 => 0
6 => FALSE
7 => 0
3 | Array
0 => 4
1 => Unattached
2 => Unattached
3 => 2
4 => 0
5 => 0
6 => FALSE
7 => 0

【问题讨论】:

    标签: php arrays duplicates


    【解决方案1】:

    一种方法是记录使用过的名称并对其进行过滤。

    $names = [];
    $associates = array_filter($associates, function($a) { return (!in_array($a[1], $names) && $names[]=$a[1];)});
    

    【讨论】:

    • 这些字段每天都会不断变化多次。这是针对我创建的应用程序。所以我永远不会知道名字是什么。
    • 我不明白这个解决方案是如何工作的。它不依赖硬编码的名称
    猜你喜欢
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 2020-03-17
    相关资源
    最近更新 更多