php对二维数组进行排序的简单实例

本文介绍下,php中使用array_multisort函数进行二维数组排序的例子,有需要的朋友,参考下吧。继上一篇文章:PHP二维数组排序自定义函数,今天,我们再介绍一个php二维数组排序的例子。

php对二维数组的排序很简单,主要用到array_multisort函数。

例子代码如下:

  1. <?php
  2. /**
  3. * php二维数组排序
  4. * edit www.phpfensi.com
  5. */
  6. $data = array();
  7. $data[] = array('volume' => 67, 'edition' => 2);
  8. $data[] = array('volume' => 86, 'edition' => 1);
  9. $data[] = array('volume' => 85, 'edition' => 6);
  10. $data[] = array('volume' => 98, 'edition' => 2);
  11. $data[] = array('volume' => 86, 'edition' => 6);
  12. $data[] = array('volume' => 67, 'edition' => 7);
  13. // 取得列的列表
  14. foreach ($data as $key => $row)
  15. {
  16. $volume[$key] = $row['volume'];
  17. $edition[$key] = $row['edition'];
  18. }
  19. array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
  20. print_r($data);
  21. ?>

输出结果:

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [volume] => 98
  6. [edition] => 2
  7. )
  8. [1] => Array
  9. (
  10. [volume] => 86
  11. [edition] => 1
  12. )
  13. [2] => Array
  14. (
  15. [volume] => 86
  16. [edition] => 6
  17. )
  18. [3] => Array
  19. (
  20. [volume] => 85
  21. [edition] => 6
  22. )
  23. [4] => Array
  24. (
  25. [volume] => 67
  26. [edition] => 2
  27. )
  28. [5] => Array
  29. (
  30. [volume] => 67
  31. [edition] => 7
  32. )
  33. )

说明:array_multisort函数的参数非常灵活,大家可以参照php手册中的说明,深入研究下。