php数组之数组的元素值进行降序排序rsort()函数
rsort(array,sorttype)
参数 描述
array 必需。输入的数组。
sorttype 可选。规定如何排列数组的值。可能的值:
SORT_REGULAR - 默认。以它们原来的类型进行处理(不改变类型)。
SORT_NUMERIC - 把值作为数字来处理
SORT_STRING - 把值作为字符串来处理
SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置*。
代码如下 | 复制代码 |
$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse"); 输出: Array |
其它参考
代码如下 | 复制代码 |
$data[] = array('volume' => 67, 'edition' => 2); |
本例中将把 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 |
实际上真正在排序的时候还有很多方法可以使用,比如php的array数组自带的 arsort(),asort(),ksort(),krsort(),natsort(),natcasesort(),rsort(),usort(),array_multisort() 和 uksort()。
推荐阅读
-
php数组怎么根据其中的一个值进行排序?解决方法
-
php数组函数序列之array_pop() - 删除数组中的最后一个元素
-
php数组函数序列之array_search()- 按元素值返回键名
-
php数组函数序列之sort() 对数组的元素值进行升序排序
-
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
-
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
-
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
-
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
-
php数组函数序列之rsort() - 对数组的元素值进行降序排序
-
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值