php二维数组自定义排序

PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义。 

以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义: 

 
  1. function array_sort($arr,$keys,$type='asc'){   
  2.     $keysvalue = $new_array = array();  
  3.     foreach ($arr as $k=>$v){  
  4.         $keysvalue[$k] = $v[$keys];  
  5.     }  
  6.     if($type == 'asc'){  
  7.         asort($keysvalue);  
  8.     }else{  
  9.         arsort($keysvalue);  
  10.     }  
  11.     reset($keysvalue);  
  12.     foreach ($keysvalue as $k=>$v){  
  13.         $new_array[$k] = $arr[$k];  
  14.     }  
  15.     return $new_array;   
  16. }   

 

 
    1. $array = array(  
    2.     array('name'=>'手机','brand'=>'诺基亚','price'=>1050),  
    3.     array('name'=>'笔记本电脑','brand'=>'lenovo','price'=>4300),  
    4.     array('name'=>'剃须刀','brand'=>'飞利浦','price'=>3100),  
    5.     array('name'=>'跑步机','brand'=>'三和松石','price'=>4900),  
    6.     array('name'=>'手表','brand'=>'卡西欧','price'=>960),  
    7.     array('name'=>'液晶电视','brand'=>'索尼','price'=>6299),  
    8.     array('name'=>'激光打印机','brand'=>'惠普','price'=>1200)  
    9. );  
    10.   
    11. $ShoppingList = array_sort($array,'price');  
    12. print_r($ShoppingList);  
 
posted @ 2015-01-23 14:52  唐扬平  阅读(946)  评论(0编辑  收藏  举报