二维数组排序

根据给定键进行排序(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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值