PHP二维数组排序问题

根据某个键值对二维数组进行排序是个常见问题,这里总结一个函数,可同时对两个键值分别排序,当然想要更多的话就自行解决吧。

function array_sort($arr,$key1,$sort1='asc',$key2='',$sort2='asc'){
    if (!is_array($arr)){
        return $arr;
    }
    foreach($arr AS $key => $row){
        $temp[$key] = $row[$key1];
    }
    $sort1 = $sort1 == 'asc' ? SORT_ASC : SORT_DESC;
    if(!$key2){
        array_multisort($temp, $sort1,$arr);
    } else {
        foreach($arr AS $key => $row){
            $temp2[$key] = $row[$key2];
        }
        $sort2 = $sort2 == 'asc' ? SORT_ASC : SORT_DESC;
        array_multisort($temp, $sort1,$temp2,$sort2,$arr);
    }
    return $arr;
}

 

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注