php arsort降序后取第一个元素值和最后一个元素值

By | 2020年7月17日

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注