使用php對二維數組按數組值進行排序

79259058 8年前發布 | 793 次閱讀 PHP 臥龍崗大學,870966399

多維數組排序函數代碼    

/**
 * 多維數組排序
 * @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;
}
 本文由用戶 79259058 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!