二维数组排序

来源:互联网 发布:c语言while的用法范例 编辑:程序博客网 时间:2024/06/07 18:44

根据给定键进行排序(eg:id,num,name,age)

$person = array(  array('num'=>'001','id'=>6,'name'=>'zhangsan','age'=>21),  array('num'=>'001','id'=>7,'name'=>'ahangsan','age'=>23),  array('num'=>'003','id'=>1,'name'=>'bhangsan','age'=>23),  array('num'=>'001','id'=>3,'name'=>'dhangsan','age'=>23),);
  • (1) array_multisort
array_multisort($a1,SORT_ASC,$a2,SORT_DESC,$array1,$array2...);根绝$a1升序和$a2降序对$array1$array2进行排序
function array_sort1($array,$row,$type){    $array_temp = array();    foreach($array as $v){        $array_temp[] = $v[$row];    }    print_r($array_temp);    if($type == 'asc'){        array_multisort($array_temp,SORT_ASC,$array);    }else{        array_multisort($array_temp,SORT_DESC,$array);    }    return $array;}
  • (2) ksort,krsort
sort   对数组进行升序排序不保持索引关系rsort  对数组进行降序排序不保持索引关系ksort  根据键值对数组进行升序排序krsort 根据键值对数组进行降序排序asort  对数组进行升序排序并保持索引关系arsort 对数组进行降序排序并保持索引关系
function array_sort2($array,$row,$type){    $array_temp = array();    foreach($array as $v){        $array_temp[$v[$row]] = $v;    }    if($type == 'asc'){        ksort($array_temp);    }else{        krsort($array_temp);    }    return $array_temp;}
0 0
原创粉丝点击