好得很程序员自学网

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

php对特殊语句查询结果进行数组排序 - php数组

php对特殊语句查询结果进行数组排序

数据库查询结果有时候不能直接使用,比如mysql等用in语句出来的结果,因此需要对结果进行某种方式的排序。

例子 4. 对数据库结果进行排序

本例中 data 数组中的每个单元表示一个表中的一行。这是典型的数据库记录的数据集合。

例子中的数据如下:

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

数据全都存放在名为 data 的数组中。这通常是通过循环从数据库取得的结果,例如

<?php   mysql_fetch_assoc()。   $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数组的详细内容...

  阅读:48次