可能重复:
How do you reindex an array in PHP?
PHP reindex array?
我有一个删除元素的数组:
unset($array[2]);
之后,元素消失了,但索引搞砸了。我想要对指数进行重新排序。现在,它有0,1,3,4,5,......现在缺少2。我也使用了var_dump($ array),没有做任何改动。
想法?
答案 0 :(得分:4)
尝试 array_values :
unset($array[2]);
$newArr = array_values($yourArray); //after unset will show array indexed linearly
print_r($newArr);
答案 1 :(得分:0)
unset将简单地删除对元素2的引用,就像在这种情况下一样。这就是为什么你不再拥有索引 2 。
你要做的是实现一个函数,将每个元素从一个位置移开,从超出索引的元素开始。
之后,unset
最后一个元素。