PHP 对一个给定的二维数组按照指定的键值进行排序

  1. <?php  
  2. //PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义。  
  3. //以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义:  
  4. function array_sort($arr,$keys,$type='asc'){  
  5.     $keysvalue = $new_array = array();  
  6.     foreach ($arr as $k=>$v){  
  7.         $keysvalue[$k] = $v[$keys];  
  8.     }  
  9.     if($type == 'asc'){  
  10.         asort($keysvalue);  
  11.     }else{  
  12.         arsort($keysvalue);  
  13.     }  
  14.     reset($keysvalue);  
  15.     foreach ($keysvalue as $k=>$v){  
  16.         $new_array[$k] = $arr[$k];  
  17.     }  
  18.     return $new_array;  
  19. }  
  20. //它可以对二维数组按照指定的键值进行排序,也可以指定升序或降序排序法(默认为升序),用法示例:  
  21. $array = array(  
  22.         array('name'=>'手机','brand'=>'诺基亚','price'=>1050),  
  23.         array('name'=>'笔记本电脑','brand'=>'lenovo','price'=>4300),  
  24.         array('name'=>'剃须刀','brand'=>'飞利浦','price'=>3100),  
  25.         array('name'=>'跑步机','brand'=>'三和松石','price'=>4900),  
  26.         array('name'=>'手表','brand'=>'卡西欧','price'=>960),  
  27.         array('name'=>'液晶电视','brand'=>'索尼','price'=>6299),  
  28.         array('name'=>'激光打印机','brand'=>'惠普','price'=>1200)  
  29.         );  
  30. //下面是对$array这个二维数组按照'price'从低到高的排序。  
  31. $ShoppingList = array_sort($array,'price');  
  32. print_r($ShoppingList);  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值