PHP編程實現(xiàn)多維數(shù)組按照某個鍵值排序的方法小結(jié)【2種方法】
本文實例講述了PHP編程實現(xiàn)多維數(shù)組按照某個鍵值排序的方法。分享給大家供大家參考,具體如下:
實現(xiàn)對多維數(shù)組按照某個鍵值排序的兩種解決方法(array_multisort
和array_sort
):
第一種:
array_multisort()
函數(shù)對多個數(shù)組或多維數(shù)組進行排序。
//對數(shù)組$hotcat按照count鍵值大小降序進行排序; $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ù)組進行降序排列;SORT_DESC按降序排列
第二種:
自定義方法array_sort()
進行排序
//指定數(shù)組以$keys鍵值排序 function array_sort($array,$keys,$type='asc'){ //$array為要排序的數(shù)組,$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'); //此處對數(shù)組進行降序排列
圖一:
圖二:
溫馨提醒:由上圖可知第一種方法有個弊端,如果你的數(shù)組如果是字符串鍵名將被保留,但是數(shù)字鍵將被重新索引,從0開始,并以1遞增。所以當數(shù)組排序之后并且需要保留之前的所有鍵名的話,那就推薦使用第二種方法.
PS:這里再為大家推薦2款比較實用的相關(guān)在線排序工具供大家參考使用:
在線中英文根據(jù)首字母排序工具:
http://tools.jb51.net/aideddesign/zh_paixu
在線文本倒序翻轉(zhuǎn)排序工具:
http://tools.jb51.net/aideddesign/flipped_txt
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php常用函數(shù)與技巧總結(jié)》、《PHP錯誤與異常處理方法總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
php gd2 上傳圖片/文字水印/圖片水印/等比例縮略圖/實現(xiàn)代碼
php gd2 上傳圖片/文字水印/圖片水印/等比例縮略圖/源代碼,需要的朋友可以參考下。2010-05-05php 時間time與日期date之間的使用詳解及區(qū)別
PHP中有time函數(shù),也有date函數(shù),這兩個函數(shù)在使用時候的區(qū)別很明顯。但更應(yīng)注意,time和date是兩個完全不時的格式,當然還有一種字符串格式。本文重點介紹這幾者的區(qū)別。2016-11-11linux下使用ThinkPHP需要注意大小寫導(dǎo)致的問題
今天把剛完成的第一部分功能部署到客戶的測試服務(wù)器上,結(jié)果傻眼了,好多功能都用不了,列表頁刷出來全是空的。2011-08-08