我有一系列数字从降序开始。当我添加到这个数组时,我添加到最后,然后执行natsort($times)
。 $ times然后看起来像这样(由print_r获得):
Array
(
[0] => 0.01
[1] => 0.02
[2] => 0.05
[3] => 0.08
[7] => 0.10 <-- Just added and natsorted
[4] => 0.11
[5] => 0.14
[6] => 0.21
)
但是,我希望重新分配所有键,以便刚刚添加的0.10是数组索引4,这样可以很容易地看到新时间的位置。即“你的排名是$ arrayindex + 1”
除了将整个数组复制到新数组中以获取新密钥外,还有更好的方法吗?
答案 0 :(得分:13)
您可以将sort
[docs]与SORT_NUMERIC
一起使用,而不是natsort
:
sort($times, SORT_NUMERIC);
与natsort
不同,它重新索引数组。
排序后没有内置的方法来重新索引数组。在使用natsort
排序后,你也可以使用array_values
[docs]:
$times = array_values($times);
这个正在复制数组。
答案 1 :(得分:6)
您可以使用array_values执行此操作。
$times=array_values($times);
答案 2 :(得分:2)