我有这样一个数组:
numbers = array(
"1"=>2
"2"=>5
"3"=>1
"4"=>12
);
如果我使用sort(numbers)数组将变成
numbers = array(
"1"=>1
"2"=>2
"3"=>5
"4"=>12
);
索引仍然在相同的位置,只是对数字进行排序我还想像下面这样移动索引:
numbers = array(
"3"=>1
"1"=>2
"2"=>5
"4"=>12
);
您应该在此上下文中使用asort
。
这个函数对数组进行排序,使数组的下标保持它们的值与其关联的数组元素的相关性。这是主要用于对关联数组中实际元素进行排序时
<?php
$numbers = array(1=>2,2=>5,3=>1,4=>12);
asort($numbers);
print_r($numbers);
OUTPUT :
Array
(
[3] => 1
[1] => 2
[2] => 5
[4] => 12
)