溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP如何實現多維數組按照某個鍵值排序

發(fā)布時間:2021-07-08 09:53:02 來源:億速云 閱讀:160 作者:小新 欄目:開發(fā)技術

小編給大家分享一下PHP如何實現多維數組按照某個鍵值排序,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

具體如下:

實現對多維數組按照某個鍵值排序的兩種解決方法(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 ($hotcat as $key => $val) {
 $tmp[$key] = $row['username'];
}
array_multisort($tmp,SORT_DESC,$hotcat);此處對數組進行降序排列;SORT_DESC按降序排列

第二種:

自定義方法array_sort()進行排序

//指定數組以$keys鍵值排序
function array_sort($array,$keys,$type='asc'){
//$array為要排序的數組,$keys為要用來排序的鍵名,$type默認為升序排序
$keysvalue = $new_array = array();
foreach ($array as $k=>$v){
$keysvalue[$k] = $v[$keys];
}
if($type == 'asc'){
asort($keysvalue);
}else{
arsort($keysvalue);
}
reset($keysvalue);
foreach ($keysvalue as $k=>$v){
$new_array[$k] = $array[$k];
}
return $new_array;
}
$hot_cat = array_sort($hot_cat,'count','desc'); //此處對數組進行降序排列

圖一:

PHP如何實現多維數組按照某個鍵值排序

圖二:

PHP如何實現多維數組按照某個鍵值排序

溫馨提醒:由上圖可知第一種方法有個弊端,如果你的數組如果是字符串鍵名將被保留,但是數字鍵將被重新索引,從0開始,并以1遞增。所以當數組排序之后并且需要保留之前的所有鍵名的話,那就推薦使用第二種方法.

以上是“PHP如何實現多維數組按照某個鍵值排序”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI