返回旧版| 微信建站| 建站之家论坛| 我要建站 | 建站学习 | 加入收藏
PHP基础当前位置:首页 > HTML教程 > PHP基础 > 正文

PHP实现对多维数组按照某个键值排序的两种解决方法

发布时间:2018-04-13 09:18:38   来源:   点击:
实现对多维数组按照某个键值排序的两种解决方法(array_multisort和array_sort):

第一种:
array_multisort()函数对多个数组或多维数组进行排序。
  1. //对数组$hotcat按照count键值大小降序进行排序;    
  2. $hotcat =array(   
  3.  array('1501'=>array('catid'=>'1546','catname'=>'数组排序 一级','count'=>'588')),   
  4.  array('1501'=>array('catid'=>'1546','catname'=>'数组排序二级','count'=>'588')),   
  5.  array('1501'=>array('catid'=>'1546','catname'=>'数组排序 三级','count'=>'588'))   
  6. );   
  7.  //提取列数组;   
  8. foreach ($hotcat as $key => $val) {   
  9.   $tmp[$key] = $row['username'];   
  10. }   
  11. array_multisort($tmp,SORT_DESC,$hotcat);此处对数组进行降序排列;SORT_DESC按降序排列   

第二种:
自定义方法array_sort()进行排序
  1. function array_sort($array,$keys,$type='asc'){   
  2. //$array为要排序的数组,$keys为要用来排序的键名,$type默认为升序排序   
  3. $keysvalue = $new_array = array();   
  4. foreach ($array as $k=>$v){   
  5. $keysvalue[$k] = $v[$keys];   
  6. }   
  7. if($type == 'asc'){   
  8. asort($keysvalue);   
  9. }else{   
  10. arsort($keysvalue);   
  11. }   
  12. reset($keysvalue);   
  13. foreach ($keysvalue as $k=>$v){   
  14. $new_array[$k] = $array[$k];   
  15. }   
  16. return $new_array;   
  17. }   
  18. $hot_cat = array_sort($hot_cat,'count','desc'); //此处对数组进行降序排列  
  19.  

版权所有:郑州腾石网络科技有限公司 备案信息:豫ICP备18019117号
站长QQ:2863868475 业务合作咨询:15137100750(同微信)
本站所有投放的广告是有其他网站提供,不代表本站立场,同时网站首页广告位对外出租详情咨询本站站长!同时欢迎广大站长加入个人建站团队
  • 建站客服
  • CMS仿站
  • CMS学习
  • 技术交流群:336572814