好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php数组之数组的元素值进行降序排序rsort()函数

php数组之数组的元素值进行降序排序rsort()函数

对数组值进行排序除了我可以利用老师教的各种排序法外,我们的php就直接给你一个函数rsort()函数,用法非常简单,但只适合于数组。

rsort(array,sorttype)

参数 描述

array 必需。输入的数组。 

sorttype 可选,规定如何排列数组的值,可能的值:

SORT_REGULAR - 默认,以它们原来的类型进行处理,不改变类型

SORT_NUMERIC - 把值作为数字来处理

SORT_STRING - 把值作为字符串来处理

SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置.

代码如下:

<?php  $my_array  =  array ( "a"  =>  "Dog" ,  "b"  =>  "Cat" ,  "c"  =>  "Horse" );  rsort( $my_array );  print_r( $my_array );  ?>  //输出:   Array  (  [0] => Horse  [1] => Dog  [2] => Cat  ) 

其它参考,代码如下:

$data [] =  array ( 'volume'  => 67,  'edition'  => 2);  $data [] =  array ( 'volume'  => 86,  'edition'  => 1);  $data [] =  array ( 'volume'  => 85,  'edition'  => 6);  $data [] =  array ( 'volume'  => 98,  'edition'  => 2);  $data [] =  array ( 'volume'  => 86,  'edition'  => 6);  $data [] =  array ( 'volume'  => 67,  'edition'  => 7); 

本例中将把 volume 降序排列,把 edition 升序排列,现在有了包含有行的数组,但是 array_multisort() 需要一个包含列的数组,因此用以下代码来取得列,然后排序。

取得列的列表,代码如下:

foreach  ( $data   as   $key  =>  $row ) {       $volume [ $key ]  =  $row [ 'volume' ];       $edition [ $key ] =  $row [ 'edition' ];  }  // 将数据根据 volume 降序排列,根据 edition 升序排列   // 把 $data 作为最后一个参数,以通用键排序   array_multisort ( $volume , SORT_DESC,  $edition , SORT_ASC,  $data ); 

数据集合现在排好序了,结果如下:

volume | edition  -------+--------  98 |       2  86 |       1  86 |       6  85 |       6  67 |       2  67 |       7 

实际上真正在排序的时候还有很多方法可以使用,比如php的array数组自带的 arsort(),asort(),ksort(),krsort(),natsort(),natcasesort(),rsort(),usort(),array_multisort() 和 uksort()。

查看更多关于php数组之数组的元素值进行降序排序rsort()函数的详细内容...

  阅读:44次