时间:2021-07-01 10:21:17 帮助过:43人阅读
1,'key2'=>1);$a2 = array('key1'=>2,'key2'=>2);$a3 = array('key1'=>2,'key2'=>3);$a = array($a3,$a2,$a1);usort($a,"my_sort2");print_r($a);usort($a,"my_sort1");print_r($a);function my_sort1($a,$b){if ($a['key1']==$b['key1']) return 0;return ($a['key1']<$b['key1'])?-1:1;}function my_sort2($a,$b){if ($a['key2']==$b['key2']) return 0;return ($a['key2']<$b['key2'])?-1:1;}?>
Array( [0] => Array ( [key1] => 1 [key2] => 1 ) [1] => Array ( [key1] => 2 [key2] => 2 ) [2] => Array ( [key1] => 2 [key2] => 3 ))Array( [0] => Array ( [key1] => 1 [key2] => 1 ) [1] => Array ( [key1] => 2 [key2] => 3 ) [2] => Array ( [key1] => 2 [key2] => 2 ))
$a1 = array('key1'=>1,'key2'=>1);$a2 = array('key1'=>2,'key2'=>2);$a3 = array('key1'=>2,'key2'=>3);$a = array($a3,$a2,$a1);foreach($a as $v) { $r2[] = $v['key2']; $r1[] = $v['key1'];}array_multisort($r1,$r1, $a);print_r($a);
Array( [0] => Array ( [key1] => 1 [key2] => 1 ) [1] => Array ( [key1] => 2 [key2] => 2 ) [2] => Array ( [key1] => 2 [key2] => 3 ))
多维数组排序用这个array_multisort
http://php.com/manual/zh/function.array-multisort.php
1,'key2'=>1);$a2 = array('key1'=>2,'key2'=>2);$a3 = array('key1'=>2,'key2'=>3);$a = array($a3,$a2,$a1);foreach($a as $v){ $ar1[] = $v['key1']; $ar2[] = $v['key2'];}array_multisort($ar1,SORT_ASC,$ar2,SORT_ASC, $a);print_r($a);?>
多谢两位指点 @xuzuning @傲雪星枫