是否有从列表中删除重复值的方法?我试图创建自己的方法,但需要花费很多时间,具体取决于有多少重复值:
$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秒钟。