php中的函数 arsort() 作用是将数组元素按照值降序排序,但有一个问题就是,数组的键并未重置,也就是键还是原来的键,例如:
$arr=[5,3,6,8,2];
print_r($arr);
arsort($arr);
print_r($arr);
以上的数组arr原先的输出结果为:
array(
0=>5,
1=>3,
2=>6,
3=>8,
4=>2
)
而进行降序排序后的显示结果为:
array(
3=>8,
2=>6,
0=>5,
1=>3,
4=>2
)
可以看出,降序排序后的键并未重新从0依次递增的,而是使用的原先的键,所以排好序的数组是无法使用索引的方法取第一个元素值的,那么如何去取排好序的数组第一个元素值呢,这里需要用到的php另一个函数current($array);
$arr=[5,3,6,8,2];
print_r($arr);
arsort($arr);
print_r($arr);
$first=current($arr);
print_r($first);
以上输出的结果为:8
获取最后一个数组的元素,需要使用到的函数:end($array);
$arr=[5,3,6,8,2];
print_r($arr);
arsort($arr);
print_r($arr);
$end=end($arr);
print_r($end);
以上输出的结果为:2