PHP修复数组中的数字键

chr*_*ris 10 php arrays sorting

出于某种原因,当从数组中删除项目时,我留下了0,2,3,4,6,9等键,而不是0,1,2,3,4,5.所以我想弄清楚为什么,以及我可以做什么来修复它而不排序所有东西,sort()因为这将把东西整理.我只是想重新说明问题.

Joh*_*nde 34

使用array_values()得到原始数组的值,并将其退回到一个新的数组.该新数组将包含新的数字键.

$new_array = array_values($old_array);
Run Code Online (Sandbox Code Playgroud)


Seb*_*bas 5

您应该使用array_splice()从数组中删除元素,以便它同时按照您希望的方式更改键.

您必须小心,array_values()因为它不会(或至少可能不会)工作,因为它可能会重新排序您的数字索引.如果在索引3处的值之后添加索引0处的值,则索引0处的值将放置在返回的数组的末尾array_values(),而它首先出现在您的数组中.