我有一个如下所示的数组:
[867324]
[id] => 867324
[name] => Example1
[345786]
[id] => 345786
[name] => Example2
[268531]
[id] => 268531
[name] => Example3
正如您所看到的,第一个元素没有任何特定的顺序。出于示例的目的,您可以将它们视为随机数。我想最终得出的最终结果是:
[0]
[id] => 867324
[name] => Example1
[1]
[id] => 345786
[name] => Example2
[2]
[id] => 268531
[name] => Example3
我尝试过爆炸,但显然我一定是做错了。任何帮助表示赞赏!
答案 0 :(得分:28)
这会在保留元素顺序的同时对键进行重新编号。
$new_array = array_values($old_array);
答案 1 :(得分:8)
您可以使用array_values()重置数组密钥:
$array = array_values($array);
使用此方法的数组如:
Array('123'=>'123',
'456'=>'456',
'789'=>'789')
将重新编号为:
Array('0'=>'123',
'1'=>'456',
'2'=>'789')
答案 2 :(得分:2)
如果元素的顺序无关紧要,我相信PHP的排序方法不会维护索引。 http://www.php.net/manual/en/function.sort.php
sort($array);
注意:此函数为数组中的元素指定新键。它将删除可能已分配的任何现有密钥,而不仅仅是重新排序密钥。
更新: 这确实有效,尽管提到的array_values方法更有意义。