出于某种原因,当从数组中删除项目时,我会留下0,2,3,4,6,9等键,而不是0,1,2,3,4,5。所以我想弄清楚为什么,以及我可以做什么来修复它而不通过sort()
对所有内容进行排序,因为这会将内容整理好。我只是想在谈话时重新确定关键。
答案 0 :(得分:33)
使用array_values()
获取原始数组的值并将它们返回到新数组。该新数组将包含新的数字键。
$new_array = array_values($old_array);
答案 1 :(得分:5)
您应该使用array_splice()
从数组中删除元素,以便同时按照您希望的方式更改密钥。
您必须对array_values()
小心,因为它不会(或至少可能不会)起作用,因为它可能re-order your numeric indexes。如果您在索引3处的值之后添加索引0处的值,则索引0处的值将放置在array_values()
返回的数组的末尾,而它首先显示在您的数组中。
答案 2 :(得分:3)
由于键不一定重要,您可以通过array_values()
运行最终结果数组。它按所有顺序保留所有值,将所有键重置为连续数值。