PHP二维数组排序简单实现方法

这篇文章主要介绍了PHP二维数组排序简单实现方法,涉及PHP针对数组的遍历与排序操作常用技巧,具有一定参考借鉴价值,需要的朋友可以参考下。

本文实例讲述了PHP二维数组排序简单实现方法,分享给大家供大家参考,具体如下:

  1. function multi_compare($a, $b)
  2. {
  3. $val_arr = array(
  4. 'gold'=>'asc',
  5. 'silver'=>'desc'//还可以增加额外的排序条件
  6. );
  7. foreach($val_arr as $key => $val){
  8. if($a[$key] == $b[$key]){
  9. continue;
  10. }
  11. return (($val == 'desc')?-1:1) * (($a[$key] < $b[$key]) ? -1 : 1);
  12. }
  13. return 0;
  14. }
  15. $arr = array(
  16. array('gold'=>1, 'silver'=>2),
  17. array('gold'=>8, 'silver'=>10),
  18. array('gold'=>8, 'silver'=>8),
  19. array('gold'=>2, 'silver'=>1),
  20. );
  21. uasort($arr, 'multi_compare');
  22. print_r($arr);

运行结果如下:

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [gold] => 1
  6. [silver] => 2
  7. )
  8. [3] => Array
  9. (
  10. [gold] => 2
  11. [silver] => 1
  12. )
  13. [1] => Array
  14. (
  15. [gold] => 8
  16. [silver] => 10
  17. )
  18. [2] => Array
  19. (
  20. [gold] => 8
  21. [silver] => 8
  22. )
  23. )