php二维数组根据某个字段排序

<?php 

    functionmy_sort($arrays,$sort_key,$sort_order=SORT_ASC,$sort_type=SORT_NUMERIC ){  
        if(is_array($arrays)){  
            foreach($arrays as $array){  
                if(is_array($array)){  
                    $key_arrays[] =$array[$sort_key];  
                }else{  
                    returnfalse;  
                }  
            }  
        }else{  
            returnfalse;  
        } 
        array_multisort($key_arrays,$sort_order,$sort_type,$arrays);  
        return$arrays;  
    } 

    $person=  array( 
                    array('id'=>1,'name'=>'fj','weight'=>100,'height'=>180), 
                    array('id'=>2,'name'=>'tom','weight'=>53,'height'=>150), 
                    array('id'=>3,'name'=>'jerry','weight'=>120,'height'=>156), 
                    array('id'=>4,'name'=>'bill','weight'=>110,'height'=>190), 
                    array('id'=>5,'name'=>'linken','weight'=>80,'height'=>200), 
                    array('id'=>6,'name'=>'madana','weight'=>95,'height'=>110), 
                    array('id'=>7,'name'=>'jordan','weight'=>70,'height'=>170) 
                ); 

    var_dump($person); 

    $person= my_sort($person,'name',SORT_ASC,SORT_STRING); 

    var_dump($person); 

    $person= my_sort($person,'weight'); 

    var_dump($person); 
?> 
输出结果如下:
array (size=7)
  0 =>
    array(size=4)
      'id'=> int 1
      'name'=> string 'fj' (length=2)
      'weight'=> int 100
      'height'=> int 180
  1 =>
    array(size=4)
      'id'=> int 2
      'name'=> string 'tom' (length=3)
      'weight'=> int 53
      'height'=> int 150
  2 =>
    array(size=4)
      'id'=> int 3
      'name'=> string 'jerry' (length=5)
      'weight'=> int 120
      'height'=> int 156
  3 =>
    array(size=4)
      'id'=> int 4
      'name'=> string 'bill' (length=4)
      'weight'=> int 110
      'height'=> int 190
  4 =>
    array(size=4)
      'id'=> int 5
      'name'=> string 'linken'(length=6)
      'weight'=> int 80
      'height'=> int 200
  5 =>
    array(size=4)
      'id'=> int 6
      'name'=> string 'madana'(length=6)
      'weight'=> int 95
      'height'=> int 110
  6 =>
    array(size=4)
      'id'=> int 7
      'name'=> string 'jordan'(length=6)
      'weight'=> int 70
      'height'=> int 170
array (size=7)
  0 =>
    array(size=4)
      'id'=> int 4
      'name'=> string 'bill' (length=4)
      'weight'=> int 110
      'height'=> int 190
  1 =>
    array(size=4)
      'id'=> int 1
      'name'=> string 'fj' (length=2)
      'weight'=> int 100
      'height'=> int 180
  2 =>
    array(size=4)
      'id'=> int 3
      'name'=> string 'jerry' (length=5)
      'weight'=> int 120
      'height'=> int 156
  3 =>
    array(size=4)
      'id'=> int 7
      'name'=> string 'jordan'(length=6)
      'weight'=> int 70
      'height'=> int 170
  4 =>
    array(size=4)
      'id'=> int 5
      'name'=> string 'linken'(length=6)
      'weight'=> int 80
      'height'=> int 200
  5 =>
    array(size=4)
      'id'=> int 6
      'name'=> string 'madana'(length=6)
      'weight'=> int 95
      'height'=> int 110
  6 =>
    array(size=4)
      'id'=> int 2
      'name'=> string 'tom' (length=3)
      'weight'=> int 53
      'height'=> int 150
array (size=7)
  0 =>
    array(size=4)
      'id'=> int 2
      'name'=> string 'tom' (length=3)
      'weight'=> int 53
      'height'=> int 150
  1 =>
    array(size=4)
      'id'=> int 7
      'name'=> string 'jordan'(length=6)
      'weight'=> int 70
      'height'=> int 170
  2 =>
    array(size=4)
      'id'=> int 5
      'name'=> string 'linken'(length=6)
      'weight'=> int 80
      'height'=> int 200
  3 =>
    array(size=4)
      'id'=> int 6
      'name'=> string 'madana'(length=6)
      'weight'=> int 95
      'height'=> int 110
  4 =>
    array(size=4)
      'id'=> int 1
      'name'=> string 'fj' (length=2)
      'weight'=> int 100
      'height'=> int 180
  5 =>
    array(size=4)
      'id'=> int 4
      'name'=> string 'bill' (length=4)
      'weight'=> int 110
      'height'=> int 190
  6 =>
    array(size=4)
      'id'=> int 3
      'name'=> string 'jerry' (length=5)
      'weight'=> int 120
      'height'=> int 156

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值