wolong 发表于 2018-12-21 06:05:58

php对二维数组进行排序

  这几天一直忙于公司某个系统的开发,没来得及更新,真是罪过。
  php对二维数组的排序其实很简单,但要是不知道array_multisort这个函数就比较费事了。
  这个函数的用法举例如下:


[*]$data = array();
[*]$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);
[*]
[*]// 取得列的列表
[*]foreach ($data as $key => $row)
[*]{
[*]    $volume[$key]= $row['volume'];
[*]    $edition[$key] = $row['edition'];
[*]}
[*]
[*]array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
[*]
[*]print_r($data);

  输出:


[*]Array
[*](
[*]    => Array
[*]      (
[*]             => 98
[*]             => 2
[*]      )
[*]
[*]    => Array
[*]      (
[*]             => 86
[*]             => 1
[*]      )
[*]
[*]    => Array
[*]      (
[*]             => 86
[*]             => 6
[*]      )
[*]
[*]    => Array
[*]      (
[*]             => 85
[*]             => 6
[*]      )
[*]
[*]    => Array
[*]      (
[*]             => 67
[*]             => 2
[*]      )
[*]
[*]    => Array
[*]      (
[*]             => 67
[*]             => 7
[*]      )
[*]
[*])

  这个函数的参数非常灵活,大家可以对照手册仔细研究下。



页: [1]
查看完整版本: php对二维数组进行排序