分享

php 二维数组排序函数

 共同成长888 2015-04-18

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','asc');
  12. echo '<pre>';
  13. print_r($ShoppingList);
  14. echo '</pre>';

上面是对$array这个二维数组按照'price'从低到高的排序。

输出结果:(略)。

来源:http://www.cnblogs.com/tjmsz/archive/2011/11/10/2244231.html

转载请注明:王海达博客 ? php 二维数组排序函数

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多