PHP如何实现多维数组按照某个键值排序
导读:本文共1292.5字符,通常情况下阅读需要4分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 具体如下:实现对多维数组按照某个键值排序的两种解决方法(array_multisort和array_sort):第一种:array_multisort()函数对多个数组或多维数组进行排序。//对数组$hotcat按照count键值大小降序进行排序;$hotcat=array(array('1501'=>array('catid&... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。具体如下:
实现对多维数组按照某个键值排序的两种解决方法(array_multisort
和array_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');//此处对数组进行降序排列
图一:
图二:
温馨提醒:由上图可知第一种方法有个弊端,如果你的数组如果是字符串键名将被保留,但是数字键将被重新索引,从0开始,并以1递增。所以当数组排序之后并且需要保留之前的所有键名的话,那就推荐使用第二种方法.
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
PHP如何实现多维数组按照某个键值排序的详细内容,希望对您有所帮助,信息来源于网络。