首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >array_unique/超级_unique问题

array_unique/超级_unique问题
EN

Stack Overflow用户
提问于 2011-03-20 12:43:15
回答 1查看 965关注 0票数 0

我正在尝试为以下数组删除基于'duplicate_check‘的重复项。似乎array_unique和super_unique函数都不起作用。我还尝试用循环函数中的循环来比较两个相同的数组,但它超时了,因为数组中有数万行。有什么帮助吗?

代码语言:javascript
复制
[1] => Array
    (
        [a] => abc
        [b] => 202
        [c] => 001
        [d] => 
        [e] => Graphic Commun
        [duplicate_check] => abc202001
    )

[2] => Array
    (
        [a] => abc
        [b] => 211
        [c] => 001
        [d] => Bard
        [e] => CAD Fundamentals
        [duplicate_check] => abc211001
    )
 [3] => Array
    (
        [a] => abc
        [b] => 211
        [c] => 001
        [d] => 
        [e] => 
        [duplicate_check] => abc211001
    )
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-20 12:55:36

嗯,我不知道你尝试过的方法(你应该把它加到你的问题中)。但是看起来你应该使用一个循环来过滤条目:

代码语言:javascript
复制
$found = array();
foreach ($array as $i=>$row) {

    $check = "$row[a],$row[b],$row[c]";
    //$check = $row["duplicate_check"];

    if (@$found[$check]++) {
        unset($array[$i]);
    }
}

一个懒惰的解决方案(但可能不是你的任务)也可以是:

代码语言:javascript
复制
=array_map("unserialize", array_unique(array_map("serialize", $array)));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5366822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档