PHP一维、二维以及多维的数组排序方法
2011-12-12 23:21
756 查看
1、一维数组排序
a、sort–本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。注:本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序
<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[".$key."] = " . $val . "\n";
}
?>
上例将输出:
# fruits[0] = apple
# fruits[1] = banana
# fruits[2] = lemon
# fruits[3] = orange
b、asort — 对数组进行排序并保持索引关系。本函数对数组进行排序,数组的索引保持和单元的关联。主要用于对那些单元顺序很重要的结合数组进行排序。
<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
arsort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>
上例将输出:
a = orange
d = lemon
b = banana
c = apple
2、多维数组排序
<?php
$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() 需要一个包含列的数组,因此用以下代码来取得列,然后排序
<?php
// 取得列的列表
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中判断数组是一维,二维,还是多维的解决方法
- php中判断数组是一维,二维,还是多维的解决方法
- PHP实现多维数组转字符串和多维数组转一维数组的方法
- php根据某字段对多维数组进行排序的方法
- PHP指定字段的多维数组排序方法
- PHP实现判断数组是一维、二维或几维的方法
- C语言程序中对多维数组中以某一维数据进行排序的一种方法
- PHP实现多维数组转字符串和多维数组转一维数组的方法
- 3个PHP多维数组转为一维数组的方法实例
- PHP 数组排序二维或多维排序问题
- 3个PHP多维数组转为一维数组的方法实例
- php对多维数组的某个键值排序方法
- PHP多维数组转一维数组的简单实现方法
- PHP数组的初始化 访问数组 数组操作符 多维数组的排序 对数组重新排序 从文件载入数组的方法 数组其他有用的操作 统计数组个数 将数组转换称标量变量 extract()
- PHP多维数组转一维数组的简单实现方法
- 快速掌握PHP多维数组排序方法
- php中array_multisort对多维数组排序的方法
- PHP实现对多维数组按照某个键值排序的两种解决方法
- php 一维数组排序与多维数组排序
- PHP排序之二维数组的按照字母排序方法