我用谷歌搜索了两天,并尝试查看PHP手册,我仍然记不起那个对齐PHP数组键值的函数。
所有我正在寻找的功能是:
Array
(
[0] => 1
[3] => 2
[4] => 3
[7] => 4
[9] => 5
)
并将其转换为:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
基本上,数组首先按键排序(它们附加的值与它们保持一致),然后所有键都连续设置为所有计数数字,而不跳过任何数字(0,1,2,3, 4,5,6,7,8,9 ......)。几个月前我看到它与ksort()一起使用,并且看不到记住或找到这个难以捉摸的功能。
答案 0 :(得分:3)
嗯,你知道,这个很难,因为PHP数组函数页面上的一般描述并没有说这个函数能够满足您的需求。
但您可以使用ksort()
对数组进行排序,然后使用:array_values()
。从PHP手册的页面:
array_values()
返回输入数组中的所有值,并以数字形式索引数组。
答案 1 :(得分:1)
您可以使用array_merge
:
$array = array_merge($array);
它将使用数字键重新索引值。
更新:使用@LostInTheCode's answer中提议的array_values
可能更具描述性。
答案 2 :(得分:0)
function array_reset_index_keys($array)
{
$return = array();foreach($array as $k => $v){$return[] = $v;}return $return;
}
然后像普通函数一样使用,应该重新索引数组
您还可以使用array_values
之类的本机函数,它将数组的值返回到单维数组中,从而使其重新编入索引。