有没有办法从列表中删除重复值?我试图创建自己的方法,但是根据重复值的数量,它需要很长时间:
$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 秒。