从SplDoublyLinkedList中删除重复值

时间:2013-09-28 16:53:00

标签: php arrays

是否有从列表中删除重复值的方法?我试图创建自己的方法,但需要花费很多时间,具体取决于有多少重复值:

$arr = new SplDoublyLinkedList();
for ($i = 0; $i < count($arr); $i++) {
    for ($j = $i; $j < count($arr); $j++) {
        if ($arr[$i] == $arr[$j] && $i != $j) {
            $arr->offsetUnset($j);
            $j -= 1;
        }
    }
}

E.g。如果列表中有4000个项目和大约1000个唯一项目,则删除这些项目大约需要7秒钟。

0 个答案:

没有答案