使用usort()函数排序二维数组

$a = [
    ['year'=>1992,'month'=>4,'num'=>3],
    ['year'=>1993,'month'=>1,'num'=>2],
    ['year'=>1992,'month'=>2,'num'=>1]
];
usort($a, function($a_prev, $a_next) {
            if($a_prev['year'] !=  $a_next['year']){
                return ($a_prev['year'] >  $a_next['year']) ? 1 : -1; //从小到大排序
                //return ($a_prev['year'] >  $a_next['year']) ? -1 : 1; //从大到小排序
            }else{
            if ($a_prev['month'] == $a_next['month']) return 0;
                return ($a_prev['month'] >  $a_next['month']) ? 1 : -1; //从小到大排序
              //return ($a_prev['month'] >  $a_next['month']) ? -1 : 1; //从大到小排序
            }
        });
        
print_r($a);

你可能感兴趣的:(使用usort()函数排序二维数组)