//usort 根据用户自定义的比较函数 给数组中的元素值进行排序,排序过程中会擦除数组中的键值
$test = ["a"=>2, 1, 5, 6, 3, 0]; echo var_dump($test).'<hr>'; $reverse = 0; usort($test, ($reverse?'sortRev':'sortForw') );//usort这个函数会擦除数组原有的键值 echo var_dump($test).'<hr>'; //升序 function sortForw($a, $b) { if($a==$b) return 0; return $a > $b?1:-1; } //倒序 function sortRev($a, $b) { return $b - $a; }
结果:
array (size=6)
0 =>
int
0 1 =>
int
1 2 =>
int
2 3 =>
int
3 4 =>
int
5 5 =>
int
6