出于某种原因,从数组中删除项目时,我留下了 0、2、3、4、6、9 之类的键,而不是 0、1、2、3、4、5。所以我试图找出原因,并且我可以做些什么来修复它,而不用对所有东西进行排序,sort()
因为那样会让东西井井有条。我只是想重新输入一个说话的问题。
问问题
14940 次
3 回答
42
用于array_values()
获取原始数组的值并将它们返回到新数组。该新数组将包含新的数字键。
$new_array = array_values($old_array);
于 2012-06-09T00:02:26.463 回答
5
您应该使用array_splice()
从数组中删除元素,以便它同时以您希望的方式更改键。
您必须小心,array_values()
因为它不会(或至少可能不会)工作,因为它可能会重新排序您的数字索引。如果在索引 3 的值之后添加索引 0 处的值,则索引 0 处的值将放置在由 返回的数组的末尾array_values()
,而它首先出现在您的数组中。
于 2012-06-09T00:28:44.100 回答
3
由于键不一定重要,您可以通过array_values()
. 它将所有值按原顺序保留,将所有键重置为顺序数值。
于 2012-06-09T00:02:58.923 回答