PHP:重新分配数组键

PHP:重新分配数组键,php,arrays,key,natsort,Php,Arrays,Key,Natsort,我有一个降序的数字数组。当我添加到此数组时,我将添加到末尾,然后执行natsort($times)$时间如下所示(通过打印获得): 数组 ( [0] => 0.01 [1] => 0.02 [2] => 0.05 [3] => 0.08 [7] => 0.10 0.11 [5] => 0.14 [6] => 0.21 ) 然而,我希望重新分配所有的键,以便刚刚添加的0.10是数组索引4,这样就可以很容易地看到新时间在什么位置。ie“你的排名是$arrayindex+1” 除了将整个数组复

我有一个降序的数字数组。当我添加到此数组时,我将添加到末尾,然后执行
natsort($times)
$时间如下所示(通过打印获得):

数组
(
[0] => 0.01
[1] => 0.02
[2] => 0.05
[3] => 0.08
[7] => 0.10    0.11
[5] => 0.14
[6] => 0.21
)
然而,我希望重新分配所有的键,以便刚刚添加的0.10是数组索引4,这样就可以很容易地看到新时间在什么位置。ie“你的排名是$arrayindex+1”

除了将整个数组复制到一个新数组中以获取新密钥之外,还有更好的方法吗?

您可以使用
排序\u NUMERIC
,而不是
natsort

sort($times, SORT_NUMERIC);
$times = array_values($times);
natsort
不同,它重新索引数组


排序后/排序时,没有内置的方法来重新索引数组。您还可以在排序后使用
natsort

sort($times, SORT_NUMERIC);
$times = array_values($times);

不过,这是在复制数组。

您可以使用数组\u值执行此操作

$times=array_values($times);
排序后重新分配数组键,请与以下一起使用:


他为什么要这么做?这更快吗?@Jitamaro:什么意思?我的意思是他应该使用
sort
而不是
natsort
。这将更快(这取决于
array\u values
在引擎盖下做了什么,但很可能只调用一个方法比调用两个快)。
sort($times,sort\u NUMERIC)作为natsort的替代品对我来说非常有效