php二维数组排序:PHP数组排序来源: 发布时间:星期一, 2009年1月12日 浏览:31次 评论:0
PHP排序实际上就是将PHP进行排序在本文中也就是对数据库查询出来结果集进行排序数据库查询结果有时候不能直接使用比如mysql等用in语句出来结果因此需要对结果进行某种方式排序这时候就需要进行PHP排序了对数据库结果进行排序请看下面举例:
本例中data 中每个单元表示个表中行这是典型数据库存放数据方式 例子中数据如下: volume | edition -------+-------- 67 | 2 86 | 1 85 | 6 98 | 2 86 | 6 67 | 7 数据全都存放在名为 data 中这通常是通过循环从数据库取得结果例如 mysql_fetch_assoc(实际上这个你可以和mysql_fetch_assoc看成样具体差别你可以看PHP手册里面有关key差别) $data = .gif' />('volume' => 67, 'edition' => 2); $data = .gif' />('volume' => 86, 'edition' => 1); $data = .gif' />('volume' => 85, 'edition' => 6); $data = .gif' />('volume' => 98, 'edition' => 2); $data = .gif' />('volume' => 86, 'edition' => 6); $data = .gif' />('volume' => 67, 'edition' => 7); 本例中将把 volume 降序排列把 edition 升序排列 现在有了包含有行但是 .gif' />_multisort 需要个包含列因此用以下代码来取得列然后排序 // 取得列列表 foreach ($data as $key => $row) { $volume[$key] = $row['volume']; $edition[$key] = $row['edition']; } // 将数据根据 volume 降序排列根据 edition 升序排列 // 把 $data 作为最后个参数以通用键排序 .gif' />_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data); 数据集合现在排好序了结果如下: volume | edition -------+-------- 98 | 2 86 | 1 86 | 6 85 | 6 67 | 2 67 | 7 实际上真正在排序时候还有很多思路方法可以使用比如php.gif' />自带arsortasortksortkrsortnatsortnatsortrsortusort.gif' />_multisort 和 uksort 0
相关文章读者评论发表评论 |
|