使用php对二维数组按数组值进行排序

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

多维数组排序函数代码    

/**
 * 多维数组排序
 * @param array $array 要排序的数组
 * @param string $key 排序依据字段
 * @param string $order 排序方式,0为降序,1为升序
 */
function array_sort(array $array,$key,$order=1){
    $sort=[];
//    在此处形成字段值与键名的对应关系
    foreach($array as $k=>$v){
        $sort[$v[$key]]=isset($sort[$v[$key]])?array_merge($sort[$v[$key]],[$k]):[$k];
    }
    if($order==1&&ksort($sort)){
//        升序排序

    }elseif($order==0&&krsort($sort)){

    }else{
        return false;
    }
    $rs = [];
//    按照排好顺序的关系生成新的数组
    foreach($sort as $value){
        foreach($value as $n){
            $rs[] = $array[$n];
        }
    }
    unset($sort,$array);
    return $rs;
}

标签: 代码

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:leetcode笔记:Patching Array

下一篇:springMVC入门项目demo