PHP經過長時間的發展,很多用戶都很了解它了,上網收集了一些關於PHP二維數組的相關知識,這裡和大家一起分享一下,PHP本身是有一個多維數組排序的函數的。
- boolarray_multisort(array$ar1[,mixed$arg[,mixed$...[,array$...]]])
下面是手冊當中對於array_multisort函數的描述:
- 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即可。
- functionmulti_array_sort($multi_array,$sort_key,$sort=SORT_ASC){
- if(is_array($multi_array)){
- foreach($multi_arrayas$row_array){
- if(is_array($row_array)){
- $key_array[]=$row_array[$sort_key];
- }else{
- return-1;
- }
- }
- }else{
- return-1;
- }
- array_multisort($key_array,$sort,$multi_array);
- return$multi_array;
- }
以上就是簡單的PHP二維數組的介紹,希望對大家有幫助。