【发布时间】:2012-02-12 05:42:28
【问题描述】:
我有一个删除元素的数组:
unset($array[2]);
在那之后,元素消失了,但是索引被弄乱了。我也想重新排序索引。现在,它有 0,1,3,4,5,....现在缺少 2。我也用了var_dump($array),没做任何改动。
想法?
【问题讨论】:
我有一个删除元素的数组:
unset($array[2]);
在那之后,元素消失了,但是索引被弄乱了。我也想重新排序索引。现在,它有 0,1,3,4,5,....现在缺少 2。我也用了var_dump($array),没做任何改动。
想法?
【问题讨论】:
试试 array_values:
unset($array[2]);
$newArr = array_values($yourArray); //after unset will show array indexed linearly
print_r($newArr);
【讨论】:
unset 将简单地删除对元素 2 的引用,就像在这种情况下一样。这就是为什么你没有索引 2 了。
您要做的是实现一个函数,将每个元素向左移动一个位置,从您想要移动的索引之外的第一个元素开始。
在那之后,unset 最后一个元素。
【讨论】: