array_multisort() 排序理解
2012-03-19 09:47
134 查看
关键字: array_multisort php array sort 本例中 data 数组中的每个单元表示一个表中的一行。这是典型的数据库记录的数据集合。 例子中的数据如下: volume | edition -------+-------- 67 | 2 86 | 4 86 | 3 数据全都存放在名为 data 的数组中。这通常是通过循环从数据库取得的结果,例如 mysql_fetch_assoc()。 <?php $data[] = array('volume' => 67, 'edition' => 2); $data[] = array('volume' => 86, 'edition' => 4); $data[] = array('volume' => 86, 'edition' => 3); ?> 本例中将把 volume 降序排列,把 edition 升序排列。 现在有了包含有行的数组,但是 array_multisort() 需要一个包含列的数组,因此用以下代码来取得列,然后排序。 <?php // 取得列的列表 foreach ($data as $key => $row) { $volume[$key] = $row['volume']; $edition[$key] = $row['edition']; } //首先$volume先降序排列,然后$edition进行对应的元素调整, // $edition开始进行升序排列,$data根据$volume和$edition //中相应元素的对应关系,调整自己的内部元素的对应关系,然后 //进行排序。 //$volume中元素排序结果: 86 86 67 $edition进行元素调整: 4 3 2 $volume 和$edition对应关系: 86 --> 4 86 --> 3 67 --> 2 $edition进行排序: 2 3 4 $volume 和$edition对应关系: 67 --> 2 86 --> 3 86 --> 4 $data根据$volume 和$edition的元素对应关系,进行调整: 把$data的元素调整成$volume 和$edition的元素对应关系, 然后排序(其实这次排序是不需要的,但是又不能没有)。 array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data); ?>
相关文章推荐
- php 数组时间排序 array_multisort
- PHP使用array_multisort对多个数组或多维数组进行排序
- array_multisort实现PHP多维数组排序示例讲解
- 使用array_multisort对二维数组进行排序
- php 数组排序 array_multisort与uasort的区别
- array_multisort() 排序说明
- php array_multisort 多维数组排序
- php基础篇-二维数组排序 array_multisort
- 【前端面试】数组排序:array.sort()方法的理解~
- array_multisort 对关联数组进行排序的问题 PHP
- array_multisort&nbsp;很牛逼的排序方式
- php数组根据某值排序(array_multisort)
- php基础篇-二维数组排序 array_multisort
- 用array_map和array_multisort高效处理多维数组排序
- array_multisort — 对多个数组或多维数组进行排序
- array_multisort实现PHP多维数组排序示例讲解
- php中array_multisort对多维数组排序的方法
- 使用 array_multisort 对多维数组排序
- php实现二维数组排序array_multisort($ages, SORT_DESC, $home)函数
- PHP 二维数组排序——array_multisort()