PHP如何实现多维数组按照某个键值排序(php,数组,开发技术)

时间:2024-04-29 18:37:52 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

具体如下:

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

第一种:

array_multisort()函数对多个数组或多维数组进行排序。

//对数组$hotcat按照count键值大小降序进行排序;$hotcat=array(array('1501'=>array('catid'=>'1546','catname'=>'数组排序一级','count'=>'588')),array('1501'=>array('catid'=>'1546','catname'=>'数组排序二级','count'=>'588')),array('1501'=>array('catid'=>'1546','catname'=>'数组排序三级','count'=>'588')));//提取列数组;foreach($hotcatas$key=>$val){$tmp[$key]=$row['username'];}array_multisort($tmp,SORT_DESC,$hotcat);此处对数组进行降序排列;SORT_DESC按降序排列

第二种:

自定义方法array_sort()进行排序

//指定数组以$keys键值排序functionarray_sort($array,$keys,$type='asc'){//$array为要排序的数组,$keys为要用来排序的键名,$type默认为升序排序$keysvalue=$new_array=array();foreach($arrayas$k=>$v){$keysvalue[$k]=$v[$keys];}if($type=='asc'){asort($keysvalue);}else{arsort($keysvalue);}reset($keysvalue);foreach($keysvalueas$k=>$v){$new_array[$k]=$array[$k];}return$new_array;}$hot_cat=array_sort($hot_cat,'count','desc');//此处对数组进行降序排列

图一:

PHP如何实现多维数组按照某个键值排序

图二:

PHP如何实现多维数组按照某个键值排序

温馨提醒:由上图可知第一种方法有个弊端,如果你的数组如果是字符串键名将被保留,但是数字键将被重新索引,从0开始,并以1递增。所以当数组排序之后并且需要保留之前的所有键名的话,那就推荐使用第二种方法.

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:PHP如何实现多维数组按照某个键值排序的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:PHP如何实现针对日期,月数,天数,周数,小时,分,秒等的加减运算下一篇:

14 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18