小編給大家分享一下PHP如何實現(xiàn)多維數(shù)組按照某個鍵值排序,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
目前成都創(chuàng)新互聯(lián)已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、望謨網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。具體如下:
實現(xiàn)對多維數(shù)組按照某個鍵值排序的兩種解決方法(array_multisort
和array_sort
):
第一種:
array_multisort()
函數(shù)對多個數(shù)組或多維數(shù)組進(jìn)行排序。
//對數(shù)組$hotcat按照count鍵值大小降序進(jìn)行排序; $hotcat =array( array('1501'=>array('catid'=>'1546','catname'=>'數(shù)組排序 一級','count'=>'588')), array('1501'=>array('catid'=>'1546','catname'=>'數(shù)組排序二級','count'=>'588')), array('1501'=>array('catid'=>'1546','catname'=>'數(shù)組排序 三級','count'=>'588')) ); //提取列數(shù)組; foreach ($hotcat as $key => $val) { $tmp[$key] = $row['username']; } array_multisort($tmp,SORT_DESC,$hotcat);此處對數(shù)組進(jìn)行降序排列;SORT_DESC按降序排列
第二種:
自定義方法array_sort()
進(jìn)行排序
//指定數(shù)組以$keys鍵值排序 function array_sort($array,$keys,$type='asc'){ //$array為要排序的數(shù)組,$keys為要用來排序的鍵名,$type默認(rèn)為升序排序 $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'); //此處對數(shù)組進(jìn)行降序排列
圖一:
圖二:
溫馨提醒:由上圖可知第一種方法有個弊端,如果你的數(shù)組如果是字符串鍵名將被保留,但是數(shù)字鍵將被重新索引,從0開始,并以1遞增。所以當(dāng)數(shù)組排序之后并且需要保留之前的所有鍵名的話,那就推薦使用第二種方法.
以上是“PHP如何實現(xiàn)多維數(shù)組按照某個鍵值排序”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)頁標(biāo)題:PHP如何實現(xiàn)多維數(shù)組按照某個鍵值排序-創(chuàng)新互聯(lián)
新聞來源:http://jinyejixie.com/article12/csohdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、電子商務(wù)、外貿(mào)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容