0

リストから重複した値を削除する方法はありますか? 独自のメソッドを作成しようとしていましたが、重複値の量によってはかなりの時間がかかります:

$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;
        }
    }
}

たとえば、リストに 4000 個のアイテムと約 1000 個の一意のアイテムがある場合、これらのアイテムを削除するのに約 7 秒かかります。

4

0 に答える 0