PHP二維陣列排序

2021-06-29 17:00:36 字數 1059 閱讀 3165

php經過長時間的發展,很多使用者都很了解它了,上網收集了一些關於php二維陣列的相關知識,這裡和大家一起分享一下,php本身是有乙個多維陣列排序的函式的。

bool array_multisort(array$ar1 [,mixed$arg [,mixed$... [,array$...]]])  

下面是手冊當中對於array_multisort函式的描述:

array_multisort()可以用來一次對多個陣列進行排序,或者根據某一維或多維對多維陣列進行排序。關聯(string)鍵名保持不變,但數字鍵名會被重新索引。輸入陣列被當成乙個表的列並以行來排序――這類似於sql的orderby子句的功能。

第乙個陣列是要排序的主要陣列。陣列中的行(值)比較為相同的話就按照下乙個輸入陣列中相應值的大小來排序,依此類推。

從手冊中看到,php本身的多維排序,是按照第乙個陣列進行排序,並且調整後面的順序。像這樣的陣列:

array('id'=>array(1,3,2),   'data'=>array('a','c','b'))  

只要按照id進行多維排序,就可以了。但是很多時候,我們構造出的php二維陣列是這樣的:

array(  

array('id'=>1,'data'=>'a'),  

array('id'=>3,'data'=>'c'),  

array('id'=>2,'data'=>'b')  

陣列的元素是按行排列的,需要按其中的一列進行排序。

php好像也沒提供類似矩陣轉置的函式,所以不能直接使用array_multisort進行多維排序。

不過只需要先把排序的列抽取出來,作為第乙個引數傳給array_multisort即可。

function multi_array_sort($multi_array, $sort_key, $sort=sort_asc) else   

} else {  

return-1;  

array_multisort($key_array, $sort, $multi_array);  

return $multi_array;  

PHP二維陣列排序

對二維陣列進行排序 模擬 資料表記錄按欄位排序 list order list,get orderkey get ordertype param array array 要排序的陣列 param string orderkey 排序關鍵字 字段 param string ordertype 排序方式...

php 二維陣列排序

寫乙個二維陣列排序演算法函式,能夠具有通用性,可以呼叫php內建函式 二維陣列排序,arr是資料,keys是排序的健值,order是排序規則,1是公升序,0是降序 function array sort arr,keys,order 0 keysvalue array foreach arr as ...

PHP二維陣列排序

php本身是有乙個多維陣列排序的函式的。bool array multisort array ar1 mixed arg mixed array 下面是手冊當中對於array multisort函式的描述 array multisort 可以用來一次對多個陣列進行排序,或者根據某一維或多維對多維陣列...